作爲新使用的SqlDataSource的聲明語法,我試圖找出一種方法來一個參數的值設置爲一個存儲過程。我有一個通過請求對象傳遞一個CLIENT_ID,我需要執行的SqlDataSource的存儲過程之前設置CLIENT_ID。如何指定參數值的存儲過程中的SqlDataSource
我有幾個問題。
存儲過程參數是否必須在ASPX標記中預定義,還是可以在代碼隱藏中動態添加?
會有人有一個演示的SqlDataSource標記與所存儲的程序和參數的例子,以及設定在代碼隱藏參數值?
作爲新使用的SqlDataSource的聲明語法,我試圖找出一種方法來一個參數的值設置爲一個存儲過程。我有一個通過請求對象傳遞一個CLIENT_ID,我需要執行的SqlDataSource的存儲過程之前設置CLIENT_ID。如何指定參數值的存儲過程中的SqlDataSource
我有幾個問題。
存儲過程參數是否必須在ASPX標記中預定義,還是可以在代碼隱藏中動態添加?
會有人有一個演示的SqlDataSource標記與所存儲的程序和參數的例子,以及設定在代碼隱藏參數值?
在.NET 4框架,你可以...
1.It可以動態添加,但你必須提供自己的代碼表達式生成器(更多信息see here) 1.1還可以使用不同的參數來實現同樣的目標,如:
2.
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:yourConnectionString %>"
SelectCommand="YourStoreProcedure" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter Name="yourParameterName" ControlID="controlThatHoldsParameterValue" PropertyName="Text" />
</SelectParameters>
這是一個用SqlDataSource使用參數化查詢(存儲過程和文本)的相當徹底的例子,包括以編程方式設置參數。 ASP.NET - Using Parameterized Queries with the SqlDataSource。
<asp:SqlDataSource ID="ADSqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:ADConnection %>"
SelectCommand="GetProfile" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="InputTextBox" Name="Host" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
GetProfile是存儲過程的名稱和主機的參數名稱,它是由一個名爲InputTextBox
雖然這種聯繫可以回答這個問題texbox retreived,最好是有答案的重要部分[這裏](http://meta.stackoverflow.com/a/8259),並提供鏈路參考。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – bummi