C# 以编程方式从javascript设置请求[“uuuEventTarget”]

C# 以编程方式从javascript设置请求[“uuuEventTarget”],c#,javascript,asp.net,C#,Javascript,Asp.net,我正在编写ASP.NET应用程序,我应该在Page\u Load中检查Request[“\u EVENTTARGET”]的服务器端值。我需要从客户端编程设置它的值。 我尝试通过以下方式设置它: document.getElementById('__EVENTTARGET').value = "my_value"; 但它不起作用。你能帮我吗,为什么?谢谢大家! UPD: 我在表单.submit()的第行出现“拒绝访问”异常为什么?ASP.NET使用该变量来存储任何回发的发送方,因此我认为每次都会

我正在编写ASP.NET应用程序,我应该在
Page\u Load
中检查
Request[“\u EVENTTARGET”]
的服务器端值。我需要从客户端编程设置它的值。 我尝试通过以下方式设置它:

document.getElementById('__EVENTTARGET').value = "my_value";
但它不起作用。你能帮我吗,为什么?谢谢大家!

UPD:


我在表单.submit()的第
行出现“拒绝访问”异常
为什么?

ASP.NET使用该变量来存储任何回发的
发送方
,因此我认为每次都会覆盖您的值。 您可以尝试调用

__doPostBack('my_value','any_other_argument')
通过JS,然后在
Page\u Load
事件中检查该值

为此,请确保删除ASPX文件第一行中的
EventValidation
属性

以下是如何在代码隐藏中处理它:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            string _evt = this.Request["__EVENTTARGET"]; // 1st parameter
            string _eva = this.Request["__EVENTARGUMENT"]; // 2nd parameter
            switch (_evt)
            {
                case "my_value":
                    //do anything here
                    break;
                default:
                    break;
            }
        }
    }
编辑:

按照您的示例进行编辑:

JS:


这是由于表单无法提交的拒绝访问错误,您只需重写框架生成的函数并处理异常,直到表单未提交为止,只需继续调用此函数即可。我遇到了同样的问题,现在已经解决了。 在页面上添加此功能。 好运


是的,我绑定了它,但是当我传递按钮的ClientID时,我出现了“拒绝访问”错误。我更新了我的帖子,并为OnClientClick添加了JS函数。但我也收到了“拒绝访问错误”不,不,你这样做是错误的。删除按钮的OnClick事件,仅使用客户端代码作为示例,该代码将负责向服务器发回帖子。谢谢你的回答。在根据您的建议更改代码后,我已更新了我的帖子。这是IE的安全问题。请参见:
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
__doPostBack('my_value','any_other_argument')
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            string _evt = this.Request["__EVENTTARGET"]; // 1st parameter
            string _eva = this.Request["__EVENTARGUMENT"]; // 2nd parameter
            switch (_evt)
            {
                case "my_value":
                    //do anything here
                    break;
                default:
                    break;
            }
        }
    }
function ShowUploadDialog() {
        document.getElementById('<%= uplReportLogo.ClientID %>').click();
        document.getElementById('<%= hdnInvokeFileUpload.ClientID %>').value = $('input[type=file]').val();
        __doPostBack('fileUpload', '');
    }
<asp:Button runat="server" ID="btnReportImage" Text="Load Image..." CssClass="button action load" 
        OnClientClick="ShowUploadDialog();"  />
protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack)
    {
        string _evt = this.Request["__EVENTTARGET"]; // 1st parameter
        string _eva = this.Request["__EVENTARGUMENT"]; // 2nd parameter
        switch (_evt)
        {
            case "fileUpload":
                btnReportImage_Click(); 
                break;
            default:
                break;
        }
    }
}

protected void btnReportImage_Click() // remove sender & event arguments here, you do not need them
{
    //your code
}
function __doPostBack(eventTarget, eventArgument) {
        try {
            if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
                theForm.__EVENTTARGET.value = eventTarget;
                theForm.__EVENTARGUMENT.value = eventArgument;
                theForm.submit();

            }
        }
        catch (e) {

            __doPostBack(eventTarget, eventArgument);
        }

    }