Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Javascript将Command.Value发送到codebehind_Javascript_Asp.net_Vb.net - Fatal编程技术网

通过Javascript将Command.Value发送到codebehind

通过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.Net的新手,我被卡住了。 如果单击了“我的超链接”,则应向服务器发送命令.Value。获取该命令后,代码应该检查它是否正确,并重定向到特定站点,否则只需重新加载页面。 这是我的超链接:

<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");
}