提交表单时,忘记了GET方法传递的值

时间:2012-01-25 14:41:52

标签: asp.net html forms

我正在创建一个用于创建,删除,投票和查看在线调查的网络系统,我对GET方法中传递的参数存在问题。

页面ViewSurvey.aspx获取调查ID的参数,然后它从数据库加载信息并显示它。例如,要查看ID为vacations的调查信息,我们可以使用:ViewSurvey.aspx?survey=vacations

该页面有一个表格,其中可以查看选票(I.E:按地点,年龄等等)。但是,在提交表单时,URL中的survey参数已消失。

我可以做些什么来解决它, OR 将调查ID作为参数传递的另一种选择是什么?

2 个答案:

答案 0 :(得分:2)

在表单中创建一个名为“survey”的隐藏字段,并将其初始化为请求参数的值,例如: '休假'。

答案 1 :(得分:1)

您可以使用类似于下面的c#示例的代码访问QueryString变量。

protected void Page_Load(object sender, EventArgs e)
{
    string surveyType = Page.Request.QueryString["survey"];
}

一旦从Request对象中获取了QueryString,就可以使用ASP.NET提供的众多选项之一来保留它(这里有一些)。

// Add item to cache
Cache["Survey"] = surveyType;

// Add item to Context
Context.Items["Survey"] = surveyType;

// Add item to ViewState
ViewState["Survey"] = surveyType;