通过Javascript将Command.Value发送到codebehind
我是ASP.Net的新手,我被卡住了。 如果单击了“我的超链接”,则应向服务器发送命令.Value。获取该命令后,代码应该检查它是否正确,并重定向到特定站点,否则只需重新加载页面。 这是我的超链接:通过Javascript将Command.Value发送到codebehind,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我是ASP.Net的新手,我被卡住了。 如果单击了“我的超链接”,则应向服务器发送命令.Value。获取该命令后,代码应该检查它是否正确,并重定向到特定站点,否则只需重新加载页面。 这是我的超链接: <asp:HyperLink ID="Link" runat="server" Visible="true" NavigateUrl="javascript:document.FormServer.Command.value = 'test';document.FormServer.
<asp:HyperLink
ID="Link"
runat="server"
Visible="true"
NavigateUrl="javascript:document.FormServer.Command.value =
'test';document.FormServer.submit();"
>Test!!</asp:HyperLink>
测试!!
首先我想问我的超链接是否正确。此外,关于需要在何处插入
If
语句,我对后面的代码有点纠结 我相信通过输入链接的url发送参数要容易得多。但是,如果出于任何原因,您想通过post和使用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>
在后面的代码中,检查this.IsPostBack可能很有用。这将告诉您加载页面的原因。如果是因为单击了链接,则IsPostBack将为真。document.FormServer听起来并不熟悉。假设有一个名为“FormServer”的表单,那么您可以执行类似于document.forms[“FormServer”].submit()的操作;但是document.FormServer.Command.value对我来说是未知的。你能发布你的asp.net表单吗?它看起来很整洁,只有一个问题:asp.net在master.page中已经有一个表单,并且不允许在child.page中使用第二个表单:/n通过为master.Site-form提供id“FormServer”修复了这个问题,现在它可以工作了。
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");
}