如果我有一個文本框txtInfo
以我通過發佈的形式提交,如果我回發到頁面,我可以使用txtInfo.Text
閱讀在文本框中輸入的值。如果我張貼到不同的頁面怎麼辦?我是否必須解析Request.Form
作爲控制名稱殘缺(這是我現在正在做的),還是我可以從混亂中獲得它?.net通過狀態?c#如何檢索發佈數據
感謝
謝謝你的答案爲止......對不起,我應該有一個更加清楚一點。這個控件是一個runat="server"
控件。這就是我現在降級的 - 不是很漂亮。
foreach (String key in page.Request.Form.AllKeys)
{
String[] controlName = key.Split('$');//remove that horrrible .net naming - thanks Bill.
keyName = controlName[controlName.Length - 1];//get the last value so we always have the name
keyValue = page.Request.Form[key];
if (keyValue != "")
{
switch (keyName)...
這看起來比我更穩定的解決方案。我會嘗試並相應投票。 .Findcontrol上的表現如何?有沒有辦法直接引用控件 - 即Page.PreviousPage.txtInfo? – Praesagus 2009-10-10 21:13:05
我已經完成了ASP.NET,但是IIRC已經有一段時間了,您可以將Page.PreviousPage作爲您的Web表單類來投放。在您的Web表單類中,您可以公開TxtInfo.Text值或TextBox控件。然後,所有你需要做的就是像(MyPage.PreviousPage作爲MyInfoWebForm).MyTxtInfoTextBox.Text來訪問該值。如果可能的話,我建議只公開文本的值。如果不清楚,請告訴我。 – 2009-10-10 21:20:10
雖然看過你的例子,如果你沒有做跨頁面發佈,你需要做的就是Request.Form [「txtInfo」],正如其他人提到的那樣。另外,如果在你的頁面中定義了 ,那麼你在代碼後面所要做的就是訪問像txtInfo.Text這樣的值。你不需要做一個Request.Form [「txtInfo」] ... –
2009-10-10 21:23:20