当JavaScript中的验证为真时,我想在JavaScript后面的代码中调用C#代码。我正面临一些问题,有人可以提供帮助。谢谢 这是我的JavaScript
<script type="text/javascript">
function Validate_Checkbox() {
var chks = $("#<%= cblCustomerList.ClientID %> input:checkbox");
var hasChecked = false;
for (var i = 0; i < chks.length; i++) {
if (chks[i].checked) {
hasChecked = true;
//call C# code
break;
}
}
if (hasChecked == false) {
alert("Please select at least one checkbox..!");
return false;
}
return true;
}
</script>
这是我要调用的C#代码
protected void DV_Test_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
do something
}
这是调用JavaScript的按钮
<asp:Button ID="Button1" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;"/>
答案 0 :(得分:1)
这是您的问题的答案How to make an AJAX call without jQuery?
然而,你可能会想到,使用JQuery会简化编写javascript代码的方式。
答案 1 :(得分:0)
以下是关于此主题的非常好的解释
1: http://www.dotnetcurry.com/ShowArticle.aspx?ID=109&AspxAutoDetectCookieSupport=1
2: http://forums.asp.net/t/1111231.aspx
我希望这可以帮到你; - )
或者,如果您有机会将库[ Telerik ]用于ASP。您可以使用控制器[ RadAjaxManager ]
轻松调用C#代码答案 2 :(得分:0)
我们可以使用数据类型
的Ajax Call1)json,在这种情况下,您将在后面的代码上创建Web方法并将字符串返回给JavaScript作为返回结果
2)HTML,在这种情况下,您将调用新的HTML页面并返回HTML
答案 3 :(得分:0)
我认为你应该使用服务器端事件(Click)与客户端事件的组合。在服务器端:
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
并在
背后的代码中protected void Button1_Click(object sender, EventArgs e)
{
//do something here
}
此外,在您的javascript代码中,如果不符合某些条件,则应使用event.preventDefault()
。有关详细信息,请查看Mozilla docs。客户端的示例代码可能看起来像(未经测试!):
$(document).ready(function(){
$('#Button1').click(function(e){
//some logic to check checkbox status and call e.preventDefault();
});
});
答案 4 :(得分:0)
您需要使用Eval。例如:
<script type="text/javascript">
function Validate_Checkbox() {
...
if (chks[i].checked) {
hasChecked = true;
eval("<%= Page.ClientScript.GetPostBackEventReference(lbSubmit, String.Empty) %>");
}
...
}
<asp:Button ID="Button1" CausesValidation="True" CommandName="Insert" Text="Insert" OnClientClick="javascript:Validate_Checkbox();return true;" runat="server"/>
<asp:LinkButton ID="lbSubmit" style="display:none" OnClick="slbCheckVin_Click" runat="server"/>