我在ASP.Net,c#应用程序中有一个对话框。这个对话框有一个文本框。当我选择保存时,我想从C#调用一个函数,在数据库中进行一些验证,然后在javascript /中得到结果jquery。如果插入的值为true,我想以其他方式关闭对话框以保持打开状态,但是当我从c#函数收到true后我无法关闭对话框.Below是代码:
ascx:
<div id="popup" title="Choose Delegate">
<label>Delegate<label><input type="textbox" value="" name="inputD" id=="inputD"/>
</div>
使用Javascript:
$('#btnAdd').click(function(e){
$('#divPopup').slow("show");
$('#divPopup').dialog({
height:150,
width:300,
modal:true,
buttons:{
"close":function(){$(this).dialog("close");}
"save":function(){
var obj=document.getElementid("inputD");
$.ajax({
type: "POST",
url: "add.aspx/check",
data: "{delegate: '" + obj.Value+"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
rez= "OK";
$(this).dialog("close");
},
failure: function () {alert("FAIL"); }}); }
});
}
C#:
[WebMethode]
public static Boolean check(string delegate)
{
.....
return true;
}
C#方法返回核心值。
我也试着这个:
$('#btnAdd').click(function(e){
$('#divPopup').slow("show");
$('#divPopup').dialog({
height:150,
width:300,
modal:true,
buttons:{
"close":function(){$(this).dialog("close");}
"save":function(){
var obj=document.getElementid("inputD");
var rez ;
$.ajax({
type: "POST",
url: "add.aspx/check",
data: "{delegate: '" + obj.Value+"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
rez= "OK";
},
failure: function () {alert("FAIL"); }
});
if (rez="OK")
$(this).dialog("close");
}
});
但在这种情况下它没有看到rez值。
谢谢!
答案 0 :(得分:1)
您可以在“save”:function(e)中使用Ajax Call,如果是true close对话则只检查返回值,否则保持打开状态
Ajax调用实现起来非常简单,我让你搜索:)
答案 1 :(得分:0)
您需要在服务器端提供Web服务。 (最好是REST)
http://restsharp.org/是一个易于使用的库。
请查看this question了解详情。
在前端你给你一个ajax调用你的REST api(我看你使用jquery所以它不会那么难;)