我試圖決議json資料,但它沒有顯示在標簽元素內。每件事都作業得很好。如果我添加一個警報框,那么資料就會顯示在警報器user.Name上,但是$("#lblName").text(user.Name);卻沒有顯示資料。
下面是我的代碼。如果我做錯了什么,請告訴我。
下面是我的代碼。
<div class="col-lg-4 col-md-4 col-sm-4"/span>>
<b>Total Leaves :< /b>
<asp: 標簽 ID="lblName" runat="server" />
Ajax代碼-
<script type="text/javascript"/span>>
function test() {
var name = $('#<%=txtSearch.ClientID%>'/span>).val()。
$.ajax({
type: "POST"/span>。
url: "Applyleave.aspx/GetPersonDetails"。
data: '{name: "'/span> name '" }'。
contentType: "application/json; charset=utf-8"/span>。
dataType: "json",
success: function (response) {
if (response.d != ''/span>) {
var user = JSON.parse(response.d)。
$("#lblName").text(user.Name) 。
}
else {
$('#lblName').html('no datafound') 。
}
},
error: function (response) {
alert(response.responseText)。
}
});
}
</script>
C#代碼:
[WebMethod]
public static string GetPersonDetails(string name)
{
string jsonData = "";
string constr = ConfigurationManager.ConnectionStrings["chsDB"].ConnectionString。
using (SqlConnection con = new SqlConnection(constr))
{
con.Open()。
using (SqlCommand cmd = new SqlCommand("select c_empname from EmployeeDetail WHERE i_chsempid = @SearchText"/span>, con))
{
string[] splitData = name.Split('-'/span>);
int employeeid = Convert.ToInt32(splitData[0)。
cmd.Parameters.AddWithValue("@SearchText"/span>, employeeid)。
SqlDataReader sdr = cmd.ExecuteReader();
if (sdr.Read())
{
var input =new
{
名稱 = sdr["c_empname"]
};
jsonData = (new JavaScriptSerializer()).Serialize(input)。
}
con.Close()。
}
}
return jsonData;
}
uj5u.com熱心網友回復:
你的標簽是一個服務器端的控制元件,因此有一個特殊的ID,這將不符合你定義的ID。你必須通過它的客戶端ID來呼叫它:
$('#<%=lblName.ClientID%>').text(user.Name)。
如果您不需要在服務器端使用該標簽(即代碼后臺),您應該考慮將其重構為一個普通的 html 物件,如 <span>, <label>,或其他東西,這將使通過 javascript 進行的操作減少很多痛苦。
作為一種選擇,你可以將ClientIDMode設定為static,這將確保你輸入的ID將被傳播到渲染的html輸出中:
<asp: 標簽 ID="lblName" runat="server" ClientIDMode="static" />
uj5u.com熱心網友回復:
我在標簽上使用了錯誤的語法。因為它不是用于服務器端,所以從標簽中洗掉了runat="server",它對我來說是有效的。代碼的其他部分也很好。
<asp:Label ID="lblName"/span> />
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/334268.html
標籤:
