Html 视图在渲染时生成垃圾/(斜杠)字符

Html 视图在渲染时生成垃圾/(斜杠)字符,html,asp.net-mvc,variable-assignment,hidden-field,Html,Asp.net Mvc,Variable Assignment,Hidden Field,我有一个MVC视图,它与模型紧密相连,如下图所示 在我的模型中,在控制器的操作中,属性PageAction已经设置为空白 model.PageAction = string.Empty; 现在,当调用操作(GET)时,将在客户端浏览器中呈现以下HTML: 隐藏字段PageAction自动设置为/(正斜杠)字符 但在将值赋给隐藏字段时,将引号修饰到scriptlet,如下所示: 隐藏控件首先按要求呈现: 我已经检查过: 幕后没有javascript,即更改或设置值 控件或属性的名称也不

我有一个MVC视图,它与模型紧密相连,如下图所示

在我的模型中,在控制器的操作中,属性
PageAction
已经设置为空白

model.PageAction = string.Empty;
现在,当调用操作(GET)时,将在客户端浏览器中呈现以下HTML:

隐藏字段
PageAction
自动设置为
/
(正斜杠)字符

但在将值赋给隐藏字段时,将引号修饰到scriptlet,如下所示:

隐藏控件首先按要求呈现:

我已经检查过:

  • 幕后没有javascript,即更改或设置值
  • 控件或属性的名称也不负责
  • 不是浏览器问题,是chrome、firefox和IE的问题
所以

当scriptlet外部不存在引号时,垃圾
/
(正斜杠)的呈现会是什么问题

为什么会观察到这种行为


我们应该始终使用引号将值分配给HTML控件,还是仅仅是隐藏字段的问题?

所有属性都应该被引用,因此不确定为什么不首先使用引号,但为什么不直接使用
@HTML.HiddenFor(m=>m.PageAction)
呢(或其aspx等效项)看起来这个斜杠是selfclosing标记的一部分,你应该使用引号:
value=”“
@gene-r你是正确的,已经检查过了,浏览器正在考虑将结束标记的
/
作为值。所有属性都应该被引用,所以不确定你为什么不首先这样做,但为什么不直接使用
@Html.HiddenFor(m=>m.PageAction)
无论如何(或其aspx等价物)看起来这个斜杠是selfclosing标记的一部分,您应该使用引号:
value=”“
@gene-r您是正确的,已经检查过了,浏览器正在考虑将closing标记的
/
作为值。