gpt4 book ai didi

c# - Good Practice mvc 条件按钮及其代码

转载 作者:太空狗 更新时间:2023-10-30 00:53:58 24 4
gpt4 key购买 nike

我正在用 ajax 编写一个 MVC3 应用程序,我遇到了一个情况。

只有当条件为真时,我才必须显示 na Button。好的,这很容易做到。

@if (Model.AAA == ENUM.AAA)
{
<button>OK</button>
}

但是这个按钮会调用一个 ajax 函数。

现在我的疑问是,我的 AJAX 代码放在哪里?

如果我这样做:

@if (Model.AAA == ENUM.AAA)
{
function OK(){
$.ajax({});
}

<button>OK</button>
}

这听起来很丑陋的代码!!!可以看出代码不在正确的位置,但 ajax 代码是“安全的”,我的意思是,只有按钮存在时,ajax 代码才会存在。

但是如果我将我的代码放在 head 部分,高级用户将能够调用 ajax 函数。

或者如果创建一个@if 子句来包含脚本,我将复制这样的代码

<head type="text/javascript">
@if (Model.AAA == ENUM.AAA){
function OK(){
$.ajax({});
}
}
</head>
....
<body>
....
@if (Model.AAA == ENUM.AAA)
{
<button onclick="OK()">OK</button>
}
....
</body>

那么,面对这种情况,最好的做法是什么?

最佳答案

这听起来几乎就像您想要使用是否存在一段 Javascript 代码来控制对您服务器上的调用的访问。 不要那样做

您的服务器应该始终评估相关用户当时是否可以调用该操作。如果用户在他们的浏览器中让页面保持打开状态,并且发生了一些应用程序状态更改,这将阻止用户调用该操作......但是他们的浏览器仍然显示该按钮怎么办?或者,如果聪明的用户决定通过浏览源代码来玩弄您的 URL?

我建议只将 javascript 放在一个公共(public)位置并从那里调用它,因为这样可以将所有 Javascript 放在一起。

关于c# - Good Practice mvc 条件按钮及其代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14503163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com