问题 隐藏的属性之一

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
您好,您能告诉我如何在cshtml中隐藏属性之一,以便它不会显示在inspect元素上

前任 :
前 :<span id="1" data-customeID="2">text</span>
后 :<span id="1">text</span>

谢谢
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
我不明白为什么这是C#问题,或者甚至在VS.NET General Discussion下也是如此。这是用于WebForms吗? MVC?还是这只是一个普通的HTML问题?
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
我不明白为什么这是C#问题,或者甚至在VS.NET General Discussion下也是如此。这是用于WebForms吗? MVC?还是这只是一个普通的HTML问题?
这个关于asp.net mvc项目的问题,我在客户端使用html,
这是我第一次在在线论坛上提问
对不起,我的英语不好
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
我知道了。希望其中一位管理员可以将此主题移至ASP.NET MVC下,以使其对以后的读者更加清楚。

Anyway, why is the attribute data-customeID in the CSHTML in the first place?
客户端需要它吗?如果需要客户端,那么如果找不到该属性,客户端JavaScript会发生什么?

If it only needed server side, why can't the service side code just use the id attribute?

无论如何,只要想一想关于我将如何处理这个问题的想法,就可以了:
  • Use my own custom RazorViewEngine where my renderer will strip away the data-customeID attributes.
  • Just encrypt the value in data-customeID so that it is opaque to the user. The can see it but doesn't make sense to them readily.
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,933
地点
英国
编程经验
10+
你不能那样做。如果存在渲染浏览器引擎不希望渲染的秘密,则不应将其包含在模型中。就那么简单。如果此类值需要保密,则应将其存储在数据库中或服务器端代码文件中。如果我们所有人都可以从DOM中隐藏某些元素,那么出于安全原因,我们谁也不会再浏览Internet。
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
我知道了。希望其中一位管理员可以将此主题移至ASP.NET MVC下,以使其对以后的读者更加清楚。

Anyway, why is the attribute data-customeID in the CSHTML in the first place?
客户端需要它吗?如果需要客户端,那么如果找不到该属性,客户端JavaScript会发生什么?

If it only needed server side, why can't the service side code just use the id attribute?

无论如何,只要想一想关于我将如何处理这个问题的想法,就可以了:
  • Use my own custom RazorViewEngine where my renderer will strip away the data-customeID attributes.
  • Just encrypt the value in data-customeID so that it is opaque to the user. The can see it but doesn't make sense to them readily.
我将尝试搜索有关RazorViewEngine的信息以首先解决我的问题,谢谢您的解决方案
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,933
地点
英国
编程经验
10+
跳伞发布的不是解决方案,而是掩盖问题的技术。正如我已经告诉您的那样,如果将值呈现给客户端,则需要更改模型以撤消该操作。预防是解决方案。

让我这样说吧。如果不打算将值显示在DOM上,为什么还要显示这些值?
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
你不能那样做。如果存在渲染浏览器引擎不希望渲染的秘密,则不应将其包含在模型中。就那么简单。如果此类值需要保密,则应将其存储在数据库中或服务器端代码文件中。如果我们所有人都可以从DOM中隐藏某些元素,那么出于安全原因,我们谁也不会再浏览Internet。
感谢您之前的解释,但对于本节"如果我们所有人都可以从DOM中隐藏某些元素,那么出于安全原因,我们谁也不会再浏览Internet。"我没听懂你的意思
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
Skydiver发布的不是解决方案,而是掩盖问题的技术。正如我已经告诉您的那样,如果将值呈现给客户端,则需要更改模型以撤消该操作。预防是解决方案。

让我这样说吧。如果不打算将值显示在DOM上,为什么还要显示这些值?
我们需要此值作为参数以在另一个控制器中使用
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
所以你的意思是告诉我控制器实际上是去解析视图的.CSHTML吗?那是一个坏的实现。这是无法打破的。这是对MVC模式的完全滥用。您需要在模型中而不是在视图中传递该信息。
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
所以你的意思是告诉我控制器实际上是去解析视图的.CSHTML吗?那是一个坏的实现。这是无法打破的。这是对MVC模式的完全滥用。您需要在模型中而不是在视图中传递该信息。
是的,我知道我们必须将信息/数据传递给模型,但是我们是从view.cshtml(data-customeID)获得的信息
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,933
地点
英国
编程经验
10+
然后,您的模型整体将被破坏,需要重新编写。完全重写。
 

镭射

成员
已加入
2019年11月14日
留言内容
7
编程经验
Beginner
然后,您的模型整体将被破坏,需要重新编写。完全重写。
我们使用模型来访问数据库,从数据库中获取数据后,我们将其解析到控制器,然后将其返回到视图。
也许您可以举一些很好的例子,这样我就可以解决我的问题。

谢谢
 

羊皮

退休程序员
工作人员
已加入
2018年9月5日
留言内容
1,933
地点
英国
编程经验
10+
也许您可以举一些很好的例子,这样我就可以解决我的问题。
你要为此工作付钱吗?

到目前为止,您还没有显示任何代码来显示自己的工作方式,也许如果您这样做了,也许有人会愿意给您一些提示。
 
最佳 底部