【发布时间】:2019-02-23 06:04:23
【问题描述】:
我有一个 ajax,可以在单击按钮时将参数(值)发送到 C# 中的过程。
$(document).on('click', ".Btn", function () {
header = $(this).closest('tr').find('.ColumnID').text()
console.log(Value);
$.ajax({
type: "POST",
url: "MyAdmin.aspx/GetObject",
data: JSON.stringify({ 'Value': Value }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if(data.d.length>0)
{
$.each(data,function(i,values){
values.id;
values.name;
values.value;
});
}
}
error: function () {
}
});
});
WebMethod 接收参数(Value) 并在过程中使用((getObj.getValuesTableAdapter(Value);)。然后通过list 成功返回数据表到ajax( values.id; , values.name; values.value ;)
C#部分:
public class DataForClientSide
{
public string id { get; set; }
public string name { get; set; }
public string value{ get; set; }
}
[WebMethod(EnableSession = true)]
public static DataForClientSide[] GetObject(int Value)
{
List<DataForClientSide> details = new List<DataForClientSide>();
LogicTableAdapters.getValuesTableAdapter getObj = new LogicTableAdapters.getValuesTableAdapter();
DataTable getObj = getObj.getValuesTableAdapter(Value);
DataTable dtObj = new DataTable();
dtObj.Columns.AddRange(new DataColumn[4]{ new DataColumn("ObjectID", typeof(string)), new DataColumn("ObjectName", typeof(string)), new DataColumn("ObjectValue", typeof(string)),
});
foreach (DataRow dr in getObj.Rows)
{
DataForClientSide Info= new DataForClientSide();
Info.id = dr["ObjectID"].ToString();
Info.name = dr["ObjectName"].ToString();
Info.value = dr["ObjectValue"].ToString();
//multiple data as u want. . . . .
details.Add(Info);
}
return details.ToArray();
}
现在我需要将那些返回到 ajax 的值(id、name、value)绑定到 aspx。 这是我的 aspx 代码。
<asp:GridView ID="gvMyObjects" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" CssClass="GridView" AutoPostBack="False" AutoGenerateColumns="False" >
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:UpdatePanel ID="UpdatePanel2" runat="server">
<ContentTemplate>
<button class="myBtn" id="Button1" type="button" data-toggle="modal" data-target="#myModal" style="vertical-align: middle" onserverclick="Button1_click" OnClientClick="return false;" runat="server" ><span>Select</span></button>
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" >
<ItemTemplate>
<asp:Label ID="ID" runat="server" class="ObjekatID" Width="118px" Height="36px" style="text-align:center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="Name" runat="server" Width="118px" Height="26px" style="text-align:center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:Label ID="Value" runat="server" Width="118px" Height="26px" style="text-align:center" Font-Names="Georgia" margin-Left="100px" Text='<%# Bind("Value") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
有人可以帮我解决这个绑定部分的代码吗? 我想我需要在 ajax 中做点什么。
返回json。在必须显示的表格中,一行 0,第二行 1,第三行 2...。
d […]
0 {…}
ID Name
Name ObjectNameZero
Value Somevalue
1 {…}
ID 1
Name ObjectNameOne
Value MyValus1
2 {…}
ID 2
Name ObjectNameTwo
Value MyValus2
3 {…}
ID 3
Name ObjectNameThree
Value MyValus3
提前致谢!
【问题讨论】: