通过 Javascript 将 Command.Value 发送到代码隐藏
2016-07-07
112
我对 ASP.Net 还不太熟悉,因此遇到了一些问题。 如果单击我的超链接,则应向服务器发送 Command.Value。获取该 Command.Value 后,后台代码应检查它是否正确,并重定向到特定站点,否则只需重新加载页面。 这是我的超链接:
<asp:HyperLink
ID="Link"
runat="server"
Visible="true"
NavigateUrl="javascript:document.FormServer.Command.value =
'test';document.FormServer.submit();"
>Test!!</asp:HyperLink>
首先,我想询问我的超链接是否正确。此外,我在后台代码中遇到了一些问题,不知道在哪里需要插入
If
语句。
1个回答
我相信通过 GET 在链接的 URL 中发送参数要容易得多。但是,如果出于某种原因您想通过发布并使用 javascript 来执行此操作,请尝试此方法。
Web 表单: param1 是一个隐藏字段,其值将使用 Javascript 设置。提交表单时,隐藏字段将与表单一起发布。
<form id="FormServer" runat="server" >
<input type="text" id="param1" name="param1" style="display:none;" />
<div>
<asp:HyperLink
ID="Link"
runat="server"
Visible="true"
NavigateUrl="javascript:document.getElementById('param1').value = 'test';document.forms['FormServer'].submit();"
>Test!!</asp:HyperLink>
</div>
</form>
后台代码:
protected void Page_Load(object sender, EventArgs e)
{
string param1Value = Request["param1"];
if (param1Value == "test")
Response.Redirect("~/Default.aspx");
else if(param1Value == "lost")
Response.Redirect("http://www.google.com");
}
在后台代码中,检查 this.IsPostBack 可能会很有用。这会告诉您加载页面的原因。如果是因为单击了链接,则 IsPostBack 将为真。
Daniel Manta
2016-07-07