我是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
语句的位置的代码背后。
答案 0 :(得分:2)
我相信通过GET在链接的网址中发送参数要容易得多。但是如果出于任何原因你想通过帖子和使用javascript来做,那就试试吧。
网络表单: 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将为真。