我正在为mojoPortal CMS制作一个自定义模块,该模块需要允许客户将附属公司添加到数据库中。据我所知,这需要创建一个 .ascx 文件,然后使用 Web 界面中的管理工具栏将其安装到可以将其放入页面的位置,例如http://www.mojoportal。 com/hello-world-developer-quick-start.aspx。
表单很简单,但是当我提交时,文本框中的值只是保持空白,尽管文件上传工作正常。编码:
<asp:Label ID="Label1" runat="server" Text="Company Name" AssociatedControlID="CompanyName">
</asp:Label>
<asp:TextBox ID="CompanyName" runat="server"></asp:TextBox>
<asp:Label ID="Label2" runat="server" Text="Company Description" AssociatedControlID="CompanyDescription"></asp:Label>
<asp:TextBox ID="CompanyDescription" TextMode="MultiLine" runat="server"></asp:TextBox>
<asp:Label ID="Label3" runat="server" Text="Company Logo" AssociatedControlID="CompanyLogo"></asp:Label>
<asp:FileUpload ID="CompanyLogo" runat="server" />
<asp:Button ID="SubmitButton" runat="server" Text="Add Affiliate" />
页面和控件的 EnableViewState 已启用
文本框没有设置为只读,也没有时髦的 JavaScript 动态修改元素(至少,我没有设置任何)。
我可以通过使用 HTML 元素来解决这个问题,并使用 Request.Form 获取值。信息实际上就在那里,我可以在 Request.Form 中看到它,但我必须通过 Request.Form[CompanyName.ClientId.Replace("_","$")] 或 Request.Form[ 6]这两个看起来都很混乱,IIRC并不是.NET中应该滚动的方式。再说了,昨晚一直工作到三点,好想知道现在的答案是什么!
有什么想法吗?