在不使用ajax的情况下使用javascript调用C#代码隐藏方法
我的asp.net文件中有两个按钮在不使用ajax的情况下使用javascript调用C#代码隐藏方法,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我的asp.net文件中有两个按钮 <asp:Button ID="BTN_Send_LA" runat="server" Text="Save" OnClientClick="ConfirmSendData()"></asp:Button> //The button the client will click <asp:Button ID="UploadButton" runat="server" Text="" OnClick="BTN_Send_LA_Cli
<asp:Button ID="BTN_Send_LA" runat="server" Text="Save" OnClientClick="ConfirmSendData()"></asp:Button>
//The button the client will click
<asp:Button ID="UploadButton" runat="server" Text="" OnClick="BTN_Send_LA_Click"/>
//Dummy Button for the JS .click()
//客户端将单击的按钮
//用于JS.click()的虚拟按钮
以下是我的Js部分:
function ConfirmSendData() {
var r = confirm("Êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");
if (r == true) {
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
//$('UploadButton').trigger('click'); TEST 1
//__doPostBack not working aswell
}
}
函数ConfirmSendData(){
var r=确认(“您的支持:”+document.getElementById(“”)。选项[document.getElementById(“”)。selectedIndex]。文本+“sinon veuillez转换器在“Laver”项目中的应用”);
如果(r==true){
var clickButton=document.getElementById(“”);
单击按钮。单击();
//$('UploadButton')。触发器('click');测试1
//__doPostBack也不起作用
}
}
因此,我希望做的是:
function ConfirmSendData()
{
/*
var dd = document.getElementById("<%=DDL_LaveurLA.ClientID%>");
var txt = dd.options[dd.selectedIndex].text;
var r = confirm("Êtes vous bien: " + txt + " sinon veuillez changer dans le champ spécifié 'Laveur'"); */
var r = confirm("Êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");
if (r == true) {
//$("#<%=UploadButton.ClientID%>").click();
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
}
return false;
}
函数ConfirmSendData()
{
/*
var dd=document.getElementById(“”);
var txt=dd.options[dd.selectedIndex]。文本;
var r=确认(“您的名字:+txt+”西农·维列兹变换器在“拉沃尔”世界冠军杯上)*/
var r=确认(“您的支持:”+document.getElementById(“”)。选项[document.getElementById(“”)。selectedIndex]。文本+“sinon veuillez转换器在“Laver”项目中的应用”);
如果(r==true){
//$(“#”)点击();
var clickButton=document.getElementById(“”);
单击按钮。单击();
}
返回false;
}
您应该使用$(“#”)而不是$('UploadButton')
,因为asp:Button
元素不会在元素中仅使用id生成UploadButton
function ConfirmSendData() {
var r = confirm("Êtes vous bien: " + document.getElementById("<%=DDL_LaveurLA.ClientID%>").options[document.getElementById("<%=DDL_LaveurLA.ClientID%>").selectedIndex].text + " sinon veuillez changer dans le champ spécifié 'Laveur'");
if (r == true) {
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
// alternative variant for jquery
// $("#<%=UploadButton.ClientID%>").click();
}
}
函数ConfirmSendData(){
var r=确认(“您的支持:”+document.getElementById(“”)。选项[document.getElementById(“”)。selectedIndex]。文本+“sinon veuillez转换器在“Laver”项目中的应用”);
如果(r==true){
var clickButton=document.getElementById(“”);
单击按钮。单击();
//jquery的替代变量
//$(“#”)点击();
}
}
还有一件事,函数ConfirmSendData
需要返回false
,以防止通过第一个按钮提交数据您已经注释掉了以下内容,我想这意味着您已经尝试过了,但它不起作用
//$('UploadButton').trigger('click'); TEST 1
jQuery需要在元素的ID之前加上#
字符才能找到它,因此请尝试以下方法
$("#<%=UploadButton.ClientID%>").click();
$(“#”)点击();
我还将通过只查找一次下拉元素,将函数的第一部分稍微更新为更可读(和更高效)的版本
var dd = document.getElementById("<%=DDL_LaveurLA.ClientID%>");
var txt = dd.options[dd.selectedIndex].text;
var r = confirm("Êtes vous bien: " + txt + " sinon veuillez changer dans le champ spécifié 'Laveur'");
var dd=document.getElementById(“”);
var txt=dd.options[dd.selectedIndex]。文本;
var r=确认(“您的名字:+txt+”西农·维列兹变换器在“拉沃尔”世界冠军杯上);
试试这个:
__doPostBack('<%= UploadButton.UniqueID %>', '');
uu doPostBack(“”,”);
除了以下几点之外,一切都正常:
您需要在if
语句中添加一个结束}
ConfirmSendData()
需要返回false
以防止第一个按钮提交
i、 e
函数ConfirmSendData(){
var r=确认(“您有什么……”);
如果(r==true){
var clickButton=document.getElementById(“”);
单击按钮。单击();
}
返回false;
}
您尝试过$(“#”)了吗。单击()代码>?欢迎使用StackOverflow。请注意,一般情况下,问题都保持在相当专业的水平,因此您不希望在问题中看到像guyz
这样的词。获取元素或触发单击事件,哪一部分不起作用?clickEvent分配后包含什么?@aw04触发事件随机发生(检查更新部分)这不就是上面javascript代码的jquery等价物吗?可能是@aw04,但我知道我过去在使用.click()时遇到过跨浏览器问题代码>(现在记不清确切的内容)所以倾向于使用jQuery版本。你可能是对的,所以很高兴撤回答案,如果我只是对原因感到好奇的话,在我看来这仍然是一个有用的答案。您好,谢谢您的帮助,我已经更新了最初的问题,因为它可以随机工作(与您的解决方案一起)。虽然这是正确的,但它没有解释为什么javascript部分不能工作。您的示例只是再次使用jquery执行相同的操作。@aw04不起作用,因为jquery选择器未找到元素$('UploadButton')
,因为这是带有动态ID=“UploadButton”
的asp:Button
,我明白了,
function ConfirmSendData() {
var r = confirm("Êtes vous bien...");
if (r == true) {
var clickButton = document.getElementById("<%= UploadButton.ClientID %>");
clickButton.click();
}
return false;
}