如何将ascx.cs页面中的数据绑定到ascx页面?

时间:2016-10-10 17:10:47

标签: c# asp.net asp.net-mvc

我从服务中获取了一些数据并反序列化并保存在变量' StoreDetails'如下。

var StoreDetails= JsonConvert.DeserializeObject<Info.Wrapper>(json);

StoreDetails包含的示例数据是:

{"Status":{"StatusCode":200,"StatusDisplay":"OK","StatusValue":true,"Version":2},"Store":[{"Carry Out":false,"Coupons":true,"CustomURL":"https:\/\/ordering.com\/5702\/locations\/7725","DeliveryAvailable":false,"Distance":1.05,"Drive Thru":false,"FranchiseStoreId":0000002,"HasPromotion":false,"}]

我想将此数据从ascx.cs页面提取到ascx页面。我知道如何使用下面的模型在cshtml页面中提取数据,但我现在确定在aspx中提取数据。

Eaxample:

<h4>@Model.Store.ShortAdd.Address1</h4>
<h6>@Model.Store.ShortAdd.Address2</h6>

有人可以帮我提取数据并在列表中显示。

3 个答案:

答案 0 :(得分:0)

如果我正确理解您的问题,您可以使用 Literal 控件从Code Behind传递纯数据(无需额外标记)

ASPX

<h4><asp:Literal runat="server" ID="Address1Literal" /></h4>

代码背后

protected void Page_Load(object source, EventArgs e)
{
    Address1Literal.Text = "Some text";
}

You can even pass JSON data directly to script tag

答案 1 :(得分:0)

您可以将数据分配到ascx.cs上的文字或标签或隐藏字段,并在ascx页面中使用。

答案 2 :(得分:0)

您可以在用户控件中使用各种控件来显示json数据。例如,您可以像这样使用GridView

<强> ASCX

<asp:GridView ID="gvJsonData" runat="server" AutoGenerateColumns="False" Visible="true">
    <Columns>
        <asp:BoundField DataField="Code" HeaderText="Code" />
        <asp:BoundField DataField="Questions" HeaderText="Questions" />
    </Columns>
</asp:GridView>

<强> ascx.cs

string JsonData = "[{'Code':'S1','Questions':'Q1,Q2'}" + "," + "{'Code':'S2','Questions':'Q3,Q4,Q5'}]";
var Students = JsonConvert.DeserializeObject(JsonData);
gvJsonData.DataSource = Students;
gvJsonData.DataBind();

<强>输出

gvJsonData