1
下面是我的代碼按鈕單擊文本框驗證。即文本框的IF值已經保存在數據庫中,然後顯示警報,否則正常按鈕事件應該起作用。爲此,我嘗試下面的代碼:在單擊asp時調用Ajax JQuery時CommandArgument,CommandName不會被執行:按鈕
Default.aspx頁面
<asp:Label ID="lblGuidId" runat="server" Text='<%# Bind("RequestID") %>'></asp:Label>
<asp:TextBox ID="txtBarcodeNumber" runat="server" MaxLength="11" Width="230px" Text='<%# Bind("BarcodeNo") %>' Display="None"></asp:TextBox>
<asp:Button ID="btnBar" runat="server" Text="Save" CommandName="Update"
OnClientClick="EnableDdlCompany();saveButtonClick();"
CommandArgument="Save" return false;"/>
阿賈克斯jQuery代碼:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("[id*=btnBar]").bind("click", function() {
var chk = {};
chk.requestID = $("[id*=lblGuidId]").text();
alert(chk.requestID);
chk.barCode = $("[id*=txtBar]").val();
alert(chk.barCode);
$.ajax({
type: 'POST',
url: "ChatBoxDemo.aspx/SaveUser",
data: '{chk: ' + JSON.stringify(chk) + '}',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
alert(JSON.stringify(data));
var val = data.d;
alert(val);
if (val == true) {
alert("Barcode No. alredy exist");
}
else {
//normal function
}
},
error: function (data) {
alert(data.responseText);
},
});
return false;
});
});
</script>
C#代碼:
public static bool IsValidBarcodeTest(Guid? requestID, string barCode)
{
bool result = false;
string strcon = ConfigurationManager.ConnectionStrings["MasterDB"].ConnectionString;
SqlConnection con = new SqlConnection(strcon);
SqlCommand cmd = new SqlCommand("Invoice.usp_tbl_Request_Select_CheckDuplicateBarcode_Test", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@RequestID", requestID);
cmd.Parameters.AddWithValue("@BarcodeNo", barCode);
cmd.Connection = con;
con.Open();
result = Convert.ToBoolean(cmd.ExecuteScalar());
con.Close();
return result;
}
public class Check
{
public Check() { }
private Guid? requestID;
private string barCode;
public Guid? RequestId
{
get { return requestID; }
set { requestID = value; }
}
public string BarCode
{
get { return barCode; }
set { barCode = value; }
}
}
[WebMethod]
[ScriptMethod]
public static bool SaveUser(Check chk)
{
bool a = false;
a = IsValidBarcodeTest(chk.RequestId, chk.BarCode);
return a;
}
當我點擊按鈕(btnBar
),這阿賈克斯JQuery的工作,但這個驗證檢查後,我想按鈕應執行其他的事件,如CommandArgument,的CommandName,的OnClientClick
但這些事件不會被解僱時,我如果條件轉到其他部分。
請建議我在代碼中更改哪些內容,以便其按預期工作。
請注意,我無法更改在按鈕上定義的事件。我是非常新的在asp.net
在此先感謝。