【问题标题】:Dynamic ASP.NET code generation "User extending form fields by clicking a button"动态 ASP.NET 代码生成“用户通过单击按钮扩展表单域”
【发布时间】:2013-06-25 02:11:09
【问题描述】:

我正在寻找一种在用户按下“添加更多”按钮时重复以下代码的方法。在这种情况下,我不确定如何解决两个问题,

1- 如果我使用 Literal 控件,我将无法在其中嵌入 ASP.NET 控件。如果有的话,有什么替代品? 2- 由于显示的案例数量取决于客户的请求数量,我如何才能做到这一点,以便用户每次点击“添加更多”时,都会出现一组新的字段供客户输入。

<div class="controls controls-row">
    <div class="span3">
        <asp:Label ID="CarouselTextLabel" CssClass="control-label" Text="Carousel Text" Font-Bold="true" runat="server" />
        <asp:TextBox ID="CarouselText" TextMode="MultiLine" Height="50" runat="server" />
    </div>
    <div class="span3">
        <asp:Label ID="UploadImageText" CssClass="control-label" Text="Upload Slide" Font-Bold="true" runat="server" />
        <asp:FileUpload ID="UploadSlideImage" runat="server" />
    </div>
    <div class="span3">
        <asp:Label ID="ButtonLabel" CssClass="control-label" Text="Button Label" runat="server" />
        <asp:TextBox ID="ButtonLabelText" runat="server" />
    </div>
    <div class="span3">
        <asp:Label ID="ButtonLinkLabel" CssClass="control-label" Text="Button Link" runat="server" />
        <asp:TextBox ID="ButtonLinkLabelText" runat="server" />
    </div>
</div>
<p class="stdformbutton">
    <asp:Button ID="AddMore" Text="Add More" CssClass="btn-rounded btn-warning" OnClick="AddMoreSlidesToCarousel" runat="server" />
</p>

【问题讨论】:

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


    【解决方案1】:
    1. 您可以使用Placeholder 控件代替文字。

    2. 请参阅此 SO 问题和答案。 Dynamically add a new text box when clicking a button

    【讨论】:

    • 既然您已经创建了这些动态控件,您将如何读取这些动态生成的 ID 字段?例如,您如何将“CarouselText + i.ToString()”视为 id,以便您可以从中读取文本?
    • 我认为您需要另一个问题,或者这可能会有所帮助:stackoverflow.com/questions/1763050/…
    【解决方案2】:

    我会使用基于模板的数据绑定控件,例如Repeater 控件。它让您可以定义任意标记,这些标记将根据数据绑定数据源重复

    【讨论】:

    • 非常感谢您的及时回复。您能否举个例子或详细说明一下。问候
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-15
    • 1970-01-01
    相关资源
    最近更新 更多