我有一個datagridview由一個數據表填充,我希望能夠在用戶單擊該單元格時將單元格的值傳遞到下一頁。該單元格的值然後傳遞給一個sql存儲過程。有人可以提供如何做到這一點的方法嗎?將參數從超鏈接字段框發送到下一頁
回答
您可以在點擊時填入Session變量或將QueryString參數添加到超鏈接 - 但請記住,這些中的任何一個都可能被最終用戶(QueryString參數比會話變量更容易)更改,所以你必須擔心執行存儲過程的頁面上的SQL注入。
編輯 - 假設你爲列提供的代碼,你只需要值添加到您的HyperLinkField字段的NavigateUrl,喜歡的東西:
<asp:HyperLinkField DataTextField="OnCallStart" HeaderText='OncallStart" NavigateUrl="\website1\Default2.aspx?value=<%# HttpUtility.UrlEncode(Eval("DataSourceField")) %>' SortExpression="OnCallStart" />
和你的新頁面上處理值(Default2.aspx)使用Response.QueryString("value")
。
三種最流行的,我所看到的是:
- 查詢字符串
- 發帖值到下一個頁面
- 會話狀態
你可以閱讀所有三個this article.正如@Ian指出的那樣,人們很容易修改查詢字符串參數,所以要謹慎使用它們。如果你正在使用參數化查詢(你應該是這樣),那麼SQL注入將不會是一個問題。
Abe,我讀過那個頁面,不明白頁面之間傳遞的值是如何傳遞的。我假設會話狀態是要走的路。 – 2011-04-21 14:42:12
在這種情況下我會使用查詢字符串,這樣的:
<asp:GridView... >
<Columns>
<asp:TemplateField>
<ItemTemplate>
<a href='nextPage.aspx?value=<%# HttpUtility.UrlEncode(DataBinder.Eval(Container.DataItem, "ColumnName")) %>' ><%# Eval("TextField") %></a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
而在下一頁:
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) ...
passedValue = Request.QueryString("value").ToString()
DoSomethingWith(value)
End Sub
onof這是問題字段的代碼:
你必須把它變成一個TemplateField,像這樣:
- 1. 發送到另一個鏈接的鏈接參數asp net c#
- 2. 如何通過超鏈接將對象從JSP發送到Servlet?
- 3. 從超鏈接發送數據到腳本
- 4. php - 通過鏈接發送變量到下一頁
- 5. 將參數從片段傳遞到電梯框架中的下一個頁面
- 6. PHP/MYSQL Echo Mysql數據超鏈接到下一頁?
- 7. 發佈者:鏈接到下一頁上的文本框
- 8. Facebook發送對話框:添加查詢字符串參數到鏈接
- 9. 將數據從一個片段發送到另一個片段
- 10. 選擇組合框的值,並通過隱藏字段發送到下一頁
- 11. 發送參數到另一頁
- 12. 如何找到超鏈接字段
- 13. 將以短信發送的超鏈接字符串
- 14. 離子 - 將數據從一頁發送到另一頁
- 15. 將數據從IntentService發送到片段
- 16. 將參數從java發送到jsp
- 17. 報告超鏈接到自定義頁面上的字段
- 18. 發送多個參數從一個網頁到另一個
- 19. 發送參數從一個Facelets的網頁到另一個
- 20. 將特定字段鏈接到另一個html頁面
- 21. 註銷後發送參數到下一個頁面
- 22. 將表單字段值發送到參數哈希軌道
- 23. AngularJS - 直接鏈接始終將用戶發送到主頁
- 24. 發送場參數SSRS動作鏈接
- 25. 發送參數按鈕鏈接點擊
- 26. 傳遞ASP.NET超鏈接字段的SQL表參數
- 27. 超鏈接到頁面的一部分
- 28. Jquery Slideshowify超鏈接到另一頁
- 29. 如何獲得我的上一頁/下一頁鏈接,以便將我發送到頁面頂部?
- 30. 超鏈接 - 轉到下一個空行?
伊恩,我有這樣的代碼現在的和我的鏈接未顯示不再爲OncallStart字段和default2.aspx頁面上的數據表格未被填充。有什麼建議麼? –
2011-04-26 15:55:01
是否有任何異常被拋出?如果將DataNavigateUrlFormatString更改爲「{0}」或「\ website1 \ Default2.aspx」,會發生什麼情況 - 您是否還有問題?另外,考慮使用代字號將直接鏈接映射到您想要的頁面,如'〜/ website1/Default2.aspx'。 – 2011-04-26 17:30:44
伊恩,沒有異常被拋出,當我試圖保存我的連接字符串時,我發現它是「自定義」,即使當我通過嚮導時,我正確設置連接字符串。我已經從Visual Studio中將web.config文件複製到根目錄,但似乎無法解決問題。當我回頭看看我的數據表時,同樣的「自定義」連接字符串就在那裏。任何想法爲什麼? – 2011-04-26 17:52:06