Re: [問題] ASP.NET中的ObjectDatSource刪除資料的 …
※ 引述《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
推
04/12 17:50, , 1F
04/12 17:50, 1F
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章