我使用與SqlDataSource的選擇/插入/更新命令一個gridview。它適用於使用Gridview更新或更改值。然而,最近我添加了另一個使用Javascript來檢索數據的插件,我需要檢索數據作爲SQL的源數據。任何方式我可以做到這一點?VB.net - 傳遞自定義參數在SQL更新命令
事情是這樣的:
<form id="form1" runat="server">
<div>
<input type="hidden" id="newname" runat="server" />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID_AM" DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="StaffID" HeaderText="StaffID" SortExpression="StaffID" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT [ID], [Name], [StaffID] FROM [Record]"
ConflictDetection="CompareAllValues"
UpdateCommand="UPDATE [Record] SET [Name] = @Name, [StaffID] = @StaffID WHERE [ID] = @original_ID AND (([Name] = @original_Name) OR ([Name] IS NULL AND @original_Name IS NULL)) AND (([StaffID] = @original_StaffID) OR ([StaffID] IS NULL AND @original_StaffID IS NULL))">
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="StaffID" Type="String" />
<asp:Parameter Name="original_ID" Type="Int32" />
<asp:Parameter Name="original_Name" Type="String" />
<asp:Parameter Name="original_StaffID" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
</div>
</form>
當我使用的GridView更新行中,插件會在隱藏輸入「newname.value」生成一個新的名稱和存儲。我怎樣才能把這個值放入更新參數?
我想到了幾個方法可以做到:
- 找到一些方法,以便SQL參數會以某種方式採取價值
- 覆蓋使用正常的SQL更新的更新命令。但我想保持樂觀的併發功能。