作者liunate (i miss you)
看板C_Sharp
标题Re: [问题] ASP.NET中的ObjectDatSource删除资料的 …
时间Tue Apr 11 22:57:17 2006
※ 引述《mygod1220 (晴天)》之铭言:
: VS2005中有一个ObjectDataSource元件
: 我现在想要利用这个元件从Table中删除资料
: 删除资料需要对应的UID作为参数
: 但是我不知道怎麽在script的部份将参数传给负责删除的函式
: CODE如下,请大家帮忙看看
: 非常感谢
: [这是下删除按钮後的动作]
: protected void DelMember(object sender, EventArgs e)
: {
: TextBox id = (TextBox)FindControl("txbMemberID");
: 我先在Itemtemplate中将UID放在txbMemberID中
: ObjectDataSource1.DeleteParameters.Add("MemberID",id.Text);
: 上面这列指令执行时会发生NullRefernceException
: ObjectDataSource1.Delete();
: }
我看到两个问题(第一个我不是很确定)
1.你已经在标记(tag, <xxx>)中帮ObjectDataSource1加入了一个名称为"MemberId"
的Paramter,所以你的ObjectDataSource1.DeleteParameters.Add("MemeberID"..)
是不合规则的。你应该用ObjectDataSource1.DeleteParameters["MemverID"].Defa
ultValue = id.Text作为设定该Parameter物件预设值的写法
2.发生了NullReferenceException代表有变数指标没有指到东西, 问题我猜想应该在於
TextBox id = ....;那行, FindControl应该是找不到你指定id为txbMemberID的Text
Box
: [这是DataSource的宣告]
: <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetMembers"
: DeleteMethod="DeleteMember" TypeName="MemberDetails">
: <DeleteParameters>
: <asp:Parameter Name="MemberID" />
: </DeleteParameters>
: <SelectParameters>
: <asp:Parameter DefaultValue="" Name="filter" Type="String" />
: </SelectParameters>
: </asp:ObjectDataSource>
: [这是MemberDetial.cs中的DeleteMember,这边必须要有一个UID作为参数传入]
: public static void DeleteMember(guid memberid)
: {
: List<MemberDetails> mlist = new List<MemberDetails>();
: DataSetTableAdapters.MemberInfoTableAdapter da = new DataSetTableAdapters.MemberInfoTableAdapter();
: da.Delete(memberid);
: }
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.37.74
1F:推 mygod1220:再次感谢@@ 04/12 17:50