将数据从用户控件发送到页面的最佳方法是什么?

时间:2012-04-09 08:28:15

标签: c# asp.net performance user-controls

我有一个页面(A)和一个用户控件,我想发送这样的数据集:

  

id name

     

1 aa.pdf

     

2 bb.doc

     

3 cc.xls


从用户控件到我的页面

做这样的事情最有效的方法是什么?

3 个答案:

答案 0 :(得分:2)

使用您要传递给它的数据的数据类型在User Control上创建一个属性,并在创建控件时在页面中填充它。

public String ControlProperty
{
    get
    {
        return Convert.ToString(ViewState["ControlValue"]);
    }
}

答案 1 :(得分:1)

有很多方法可以做到这一点。通常,代码在普通的ASCX控件中是pust,然后控件被拖到页面上。间接地将数据放到页面上:

一些最常见的是使用.NET gridview,datagrid或datalist。将数据集或数据表绑定到网格本身。这不涉及太多工作,您可以遵循许多示例,例如以下http://www.c-sharpcorner.com/UploadFile/mahesh/DataBindingInDataGridMCB112022005002207AM/DataBindingInDataGridMCB1.aspx

另一种涉及更多工作的方法是调用Web服务,该服务回发包含行列表的json对象,您将通过客户端脚本进行迭代,并创建HTML表。

更多的问题是您的情况是什么,哪种方式最适合您。

答案 2 :(得分:1)

这很简单,将您的数据放入字典,然后将字典保存到页面上下文中。

var myData = new Dictionary<int, String>();
myData[0]="aa.pdf";
context.Item["Data"] = myData;

//in your page.
var myData = (Dictionary<int, String>)(context.Item["Data"]);

以上代码只是原型草案,您可以在您的环境中尝试。

肖恩