ajax - DotNetNuke 9 开发动态添加用户控件到编辑页面
问题描述
我正在使用 Chris Hammond 的模块模板在 DotNetNuke 9.9 中开发一个自定义模块(顺便说一句,它们很棒)。到目前为止,一切进展顺利,但我遇到了一个特定客户要求的砖墙:他们希望能够向表单动态添加其他控件 - 多个文件上传控件。我想实现的一个例子可以在这里看到:https ://www.aspsnippets.com/questions/128775/Dynamically-create-FileUpload-control-for-uploading-multiple-files-using-C-and-VBNet -在 ASPNet/
对于每个要上传的文件,他们需要一个文本框来输入文件的描述。表单本身还有其他几个带有 RequireFieldValidators 的输入字段。
我创建了一个服务器端 asp:table,我的想法是在用户单击页面上的“添加文件”按钮时简单地添加一个新的 TableRow。TableRow 将由 3 个 TableCell 组成 - 一个带有 FileUpload 控件,一个带有用于描述的文本框,1 个带有一个按钮,允许他们在需要时删除该行。该模块已定义为支持部分渲染。
这是 ascx 部分的样子:
<div class="dnnFormItem">
<dnn:label id="lblAttachments" runat="server" />
<div class="editItem">
<asp:Table ID="tblAttachments" runat="server" >
<asp:TableHeaderRow ID="thrAttachments" runat="server" >
<asp:TableHeaderCell ID="hdrFileName" runat="server" Width="35%" HorizontalAlign="Left" Text="File Name" />
<asp:TableHeaderCell ID="hdrDescription" runat="server" Width="35%" HorizontalAlign="Left" Text="Description" />
<asp:TableHeaderCell ID="hdrRemove" runat="server" Width="5%" HorizontalAlign="Right" />
</asp:TableHeaderRow>
</asp:Table>
</div>
<div>
<asp:linkButton ID="lnkAddFile" resourcekey="lnkAddFile" OnClick="lnkAddFile_Click" runat="server" Cssclass="dnnSecondaryAction" />
</div>
我遇到的问题是,当我单击“添加文件”按钮时,验证器都会触发并显示丢失数据等的错误消息,并且实际上并未调用用于将行添加到表中的服务器端代码。
每次单击按钮时,如何调用服务器端函数来添加新行,而无需实际回发到服务器并触发验证器?这应该只在使用提交按钮实际提交整个表单时发生
我在这里想念什么?
谢谢,阿隆
解决方案
推荐阅读
- mysql - Laravel:如何在 MySql 数据库中存储印地语字符
- javascript - 在附加了语言环境的 javascript 中生成日期格式
- oracle - 如何关闭 docker 容器内的 oracle 数据库?
- python - TensorFlow 识别但不会使用我的 GPU
- maven - 从 Maven CLI 执行 Cucumber 功能文件
- python - tkinter 按钮限制命令不重复
- graphql - 你能在graphql中请求一个文字值吗?
- wordpress - WooCommerce 选择属性过滤器时如何显示匹配的产品变体?
- python - 如何在 Python 中更改匿名函数变量?
- wordpress - 如何在子主题中添加/修改 Redux 框架选项