0

我在获取控件以将其值从浏览器传递回我的服务器时遇到问题。本质上,我需要的是一个 LiteralControl,它可以被推送到页面上,通过一些 JavaScript 进行修改,然后将其全部内容传回。

我在做什么:我正在使用 SVG 图像。我需要将任何预初始化值(显示元素/内容)发送到浏览器。然后用户可以通过 JavaScript 与图像进行交互。每当他们提交表单时,我都需要取回新的/修改后的图像。

我制作了一个输出 SVG 元素的自定义控件,并允许您设置自定义宽度、高度和视图框属性。它有一个您可以为其提供内容的样式元素,以及一个您也可以为其提供一些内容的脚本元素。我已经为应该在浏览器上修改的所有属性设置了一个 ScriptDescriptor。我构建了一个 SvgImage.prototype 和一个 SvgImage.descriptors JavaScript 类,并在 JavaScript 中注册了我的命名空间和类。我的 JavaScript 都在浏览器中,但是控件没有添加到返回的 Request.Form 元素中。

有没有办法在不创建隐藏字段并将内容转储到其中的情况下将控件添加到 Request.Form 元素中?

4

1 回答 1

0

正如我在评论中提到的,我不知道任何允许您执行此操作的本机 ASP.NET 控件。

发布回服务器的所有表单信息都必须(据我所知)包含在<input>控件中。(我相信您知道,ASP.NET 只能使用普通浏览器提供的标准表单处理。)

因此,我认为您正在考虑在回发发生之前将 SVG 信息转移到隐藏控件(不可见<textarea>/<asp:TextBox TextMode="Multiline"/>最有意义)中。

另一种选择可能是使用 AJAX,但如果您只想要回发时的信息,您可能会遇到时间问题......所以我看不出它有多大用处(但只是提到它作为一个选项)。

于 2012-06-22T10:05:05.297 回答