在按钮上单击我想更新查询字符串并通过单击按钮重新发布页面

时间:2012-08-06 20:48:42

标签: asp.net postback

更新查询字符串后,我需要在按钮点击时重新发布页面。在button_click事件中,我检查查询字符串是否有某个参数,如果它不存在,那么我想将该参数追加到查询字符串并进行回发,以便它返回到按钮点击事件。有可能吗?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以将所有输入按钮放在使用GET作为其方法的表单标记中。

这样,每次提交时,单击其中一个输入按钮,查询字符串将被更新。

示例:

<form method="GET">
    <input type="text" name="MyFirstInput" />
    <input type="text" name="MySecondInput" />
    <input type="submit" value="Submit" />
</form>

如果用“abcdefg”填写“MyFirstInput”并按下提交按钮,则查询字符串将更新为... url ...?MyFirstInput = abcdefg。然后,如果您返回并填写MyFirstInput和MySecondInput,则查询字符串将使用两者进行更新。

请注意,如果您不希望用户一遍又一遍地连续填写相同字段,则必须维持回发值。

答案 1 :(得分:0)

导致客户端刷新只是为了添加查询字符串参数是非常昂贵的(消耗时间)操作。避免这样做。

无论逻辑要求您具有查询字符串参数都可以重构为基于您在页面上设置的变量。

回答你的问题;是的,这是可能的,但不要这样做。

if (String.IsNullOrEmpty(Request.QueryString["myParam"]))
{
    Response.Redirect(Request.ApplicationPath + "?myParam=" + myValue);  
}