按钮点击回发后__EVENTTARGET为空它做了一些验证我尝试了下面的代码。stringctrlname=page.Request.Params.Get("__EVENTTARGET");stringctrlname=Request.Form["__EVENTTARGET"];stringctrlname=Request.Params["__EVENTTARGET"];但以上所有都给了我空值。我怎样才能让控件每次都引起回发。我在上面做错了什么?仅供参考:我已经尝试过此链接中提到的解决方案。但它对我来说是唯一的后退按钮文本。我想要按钮ID。Asp按钮呈现为输入类型提交此方法不会使用“__doPostBack”方法填充_EVENTTARGET控件,因为回发会将值添加到_EVENTTARGET因此您的按钮ID在_EVENTTARGET中丢失,您可以遍历页面中的所有控件以检查控件回发造成的。尝试这个来捕捉你的控制–在这里privatestringgetPostBackControlName(){Controlcontrol=null;//首先我们将检查“__EVENTTARGET”,因为如果控件回发,//它使用Request.Form集合中也可用的“_doPostBack”函数。stringctrlname=Page.Request.Params["__EVENTTARGET"];如果(ctrlname!=null&&ctrlname!=String.Empty){control=Page.FindControl(ctrlname);}//如果__EVENTTARGET为null,则控件是按钮类型,我们需要//遍历表单集合以找到它else{stringctrlStr=String.Empty;控制c=null;foreach(stringctlinPage.Request.Form){//handleImageButton他们在他们的Id中有一个额外的“准属性”,它标识//mousex和y坐标if(ctl.EndsWith(".x")||ctl.EndsWith(".y")){ctrlStr=ctl.Substring(0,ctl.Length-2);c=Page.FindControl(ctrlStr);}else{c=Page.FindControl(ctl);}如果(c是System.Web.UI.WebControls.Button||c是System.Web.UI.WebControls.ImageButton){control=c;休息;}}}返回控制ID;到目前为止,我已经将usesubmitbehavior设置为falseDamith在评论中给出了一个很好的解决方案。截至目前,它对我来说没有任何问题。阅读此链接了解该物业希望这对某人有所帮助。只需在按钮上添加UseSubmitBehavior="False"。//////获取回发控件的ID。//////请参阅:http://geekswithblogs.net/mahesh/archive/2006/06/27/83264.aspx//////页面。///publicstaticstringGetPostBackControlId(thisPagepage){if(!page.IsPostBack)returnstring.Empty;控制控制=空;//首先我们将检查“__EVENTTARGET”,因为如果回发由控件进行//使用Request.Form集合中也可用的“_doPostBack”函数。stringcontrolName=page.Request.Params["__EVENTTARGET"];如果(!String.IsNullOrEmpty(controlName)){control=page.FindControl(controlName);}else{//如果__EVENTTARGET为null,则控件为按钮类型,我们需要//遍历表单集合以找到它//ReSharperdisableTooWideLocalVariableScopestringcontrolId;控件找到控件;//ReSharperrestoreTooWideLocalVariableScopeforeach(stringctlinpage.Request.Form){//处理ImageButton他们有一个额外的“准属性”//在他们标识鼠标x和y坐标的if(ctl.EndsWith(".x")||ctl.EndsWith(".y")){controlId=ctl.Substring(0,ctl.Length-2);foundControl=page.FindControl(controlId);}else{foundControl=page.FindControl(ctl);}if(!(foundControlisButton||foundControlisImageButton))继续;控制=发现控制;休息;}}返回控制==null?String.Empty:control.ID;我的解决方案我在客户端函数中添加了这样的OnClick事件btnClickSuper(s,e){__doPostBack(s.name,'');这里是DevExpressMy按钮中显示的对象,其中包含属性名称,作为el的id的一部分。因此,在服务器端,我可以获得发送回发的按钮的ID。价格是服务器OnClickenevnt未被触发。以上为C#学习教程:点击按钮发送所有分享内容后__EVENTTARGET为空。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
