jquery.ajaxを使用してFormView、DataLIstを埋める必要があります
。それには2つの方法があります
1) jquery.ajax でデータを受信しないが、フォーカスが行に到達するとエラーが発生する場合 -- GridView1.DataSource = ds; これは、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーを示しています。デバッグ モードでデータ セット オブジェクト ds にデータが入力されていることを確認しました。これがDataSourceに割り当てられた場合にのみエラーが発生します
2) 2 番目のオプションは、配列リストまたは配列の観点からデータ セット データを受け取った場合、フォームビューにどのように入力するかです。<%#Eval('')%>を使用しているため
**HtmlCode**
<asp:FormView ID="GridView1" runat="server">
<ItemTemplate>
<div >
<%# Eval("title") %>
</div>
<table>
<tr>
<td> <%# Eval("S1") %> </td>
<td> <%# Eval("S2") %> </td>
<td> <%# Eval("S3") %> </td>
</tr>
</table>
$("#btnShow").click(function () {
var selTitle = $("#ddlEDTitle options:selected").text();
$.ajax({
type: "POST",
url: "Default.aspx/GetData",
data: "{tVal:'" + selTitle + "'}",
contentType: "application/json",
dataType: "json",
success: function () {
alert("Data Filled");
},
error: function () { alert("Error : 260"); }
});
});
string rawQuery = string.Empty;
rawQuery = "SELECT Adress from temp WHERE title='" + title + "'";
System.Data.DataSet ds = new System.Data.DataSet();
ds = c.fetchData(rawQuery);
if (ds.Tables[0].Rows.Count > 0)
{
DetailsView1.DataSource = ds;
DetailsView1.DataBind();
ds.Clear();
}
rawQuery = string.Empty;
rawQuery = "SELECT * from specification WHERE title='" + title+ "'";
ds = c.fetchData(rawQuery);
if (ds.Tables[0].Rows.Count > 0)
{
GridView1.DataSource = ds;
//GridView1.DataMember = "specification";
GridView1.DataBind();
ds.Clear();
}
あなたの貴重な知識で私を導いてください。
ありがとう