我实际上不得不做一次类似的事情。这是您可以做到的一种方法。
Asp.Net 按钮有一个名为 的属性PostBackUrl
,它完全符合您的预期 - 如果您单击按钮,它控制表单将发布的位置。
您还可以使用RegisterStartupScript函数在页面上呈现 javascript。
现在,有了这两件,您就可以实现您的目标。
if(!IsPostBack)
{
if(results == 1)
{
button.PostBackUrl = "next page's url"
//Register script to click the button using RegisterStartupScript
}
}
现在,已经向您展示了这一点,我会警告您,它可能不会带来最佳的用户体验。当我这样做时,它是针对一个没有其他解决方案的非常具体的案例。该页面实际上将回传给用户,并且在单击按钮的 javascript 生效之前,他们将看到该页面片刻。此外,当您设置按钮的 PostBackUrl 时,这意味着当它被单击时,您的整个表单将被发布到指定的页面。当前页面背后的代码根本不会触发,所以如果你有任何验证,它就不会运行。
让用户点击按钮提交表单并没有错,即使他们只有一个选择。根据我的经验,用户喜欢感觉自己可以控制系统。他们不喜欢页面只是在没有他们输入的情况下做事。
Also, there is not really anything wrong with putting the information the next page needs into the session or even a database table, and using Response.Redirect
. It's a fairly common practice and works reliably in most scenarios.