c#如何检索帖子数据

时间:2009-10-10 19:51:06

标签: c# asp.net

如果我在通过帖子提交的表单中有一个文本框txtInfo,如果我回发到该页面,我可以使用txtInfo.Text读取在文本框中输入的值。如果我要发布到其他页面怎么办?我是否必须解析Request.Form以取消控制名称(这就是我现在正在做的事情)或者我可以从那个混乱中获取它.net作为状态传递?

由于


感谢您到目前为止的答案......对不起,我应该更清楚一点。此控件是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)...

3 个答案:

答案 0 :(得分:4)

你应该研究Cross Page Postbacks

如本页所述,您可以使用以下内容轻松访问txtInfo:

if (Page.PreviousPage != null)
{
    TextBox SourceTextBox = 
        (TextBox)Page.PreviousPage.FindControl("txtInfo");
    if (SourceTextBox != null)
    {
        Label1.Text = SourceTextBox.Text;
    }
}

答案 1 :(得分:3)

......有什么问题。

string txtInfo = Request.Form["txtInfo"];
if(txtInfo == null) txtInfo = "";

答案 2 :(得分:0)

一个简单的解决方案是使用简单的<input type="text">而不是<asp:TextBox>。为其提供name属性,然后通过Request.Form访问它。

.aspx文件:

<input type="text" name="foo" />

发布 - 代码隐藏(同一页面,不同页面,无关紧要):

var text = Request.Form["foo"];