动态添加多个部分-ASP.NET

时间:2011-10-18 22:31:13

标签: jquery asp.net architecture asp.net-4.0 jquery-templates

我有一个网页,其中包含不确定数量的部分(由文本框,下拉列表等组成)。用户单击“添加部分”按钮,应该动态添加此部分。用户可以添加的部分没有上限。然后有一个Save按钮,此时我需要遍历所有部分并保留数据。

我的第一个想法是将该部分创建为用户控件,只要用户单击服务器端的“添加部分”,我就会动态添加该控件。

我想避免动态添加用户控件,因为我觉得它有点古怪。我试图了解我是否可以在这里使用jquery或客户端模板作为用例。

想法或建议?

1 个答案:

答案 0 :(得分:1)

我认为使用用户控制解决方案没有任何错误。类似的(服务器端)技术将使用数据绑定控件,如Repeater或ListView - 项模板将定义该部分。服务器端解决方案的优势在于它可以快速构建,并且可以使用ASP.NET基础结构,例如视图状态(这样您就不必担心在回发后维护状态)。典型的ASP.NET Forms开发人员很容易理解逻辑。翻转方面是更大的标记大小,多个大数据传输,同时添加部分(无论您使用完全或部分回发都无关紧要 - 视图状态将是传输数据的重要部分)。

我个人更喜欢客户端模板方法,因为您可以避免回发和相关的数据传输。但是有两个问题 - 一个用于显示/更新部分的相对复杂的逻辑 - 记住你的代码在两个地方碎片化 - js和服务器端代码 - 典型的开发人员会发现很难理解b)依赖java脚本(有时候,如果不支持js,则必须提供回退机制)