我在MVC视图中有一个表单,提交后,该表单会传回各种值。但是其中一个值可以是“ 70+”。问题是加号作为空白传递回控制器,即“ 70”
这是显示在视图上的输入元素:
<input type="hidden" value="70+" name="TestInput">
它是使用以下一行中的基因敲除产生的:
<input type="hidden" data-bind="value:name" name="TestInput" />
页面第一次加载时,模型中会包含加号,但是提交表单时,加号不再是模型的一部分。
注意:input的值是可变的,因此它可能根本不包含加号,但如果需要,则需要正确地传递它。
如何确定加号被传回控制器?
答案 0 :(得分:0)
就像@Steve在评论中提到的那样,需要对符号进行编码。
因此,我使用encodeURIComponent
在koViewModel中添加了一个新属性(encodedName):
self.name = ko.observable(data.name);
self.encodedName = ko.observable(encodeURIComponent(data.name));
然后仅在表单输入中使用它而不是名称:
<input type="hidden" data-bind="value:encodedName" name="TestInput" />