我有这个函数in.js文件:
function setValue(amount) {
if (amount === 0) {
.....
loanDriver._mem.loanValue = amount;
}
我喜欢在我的MVC视图中调用它并将此值发送给它:Model.ApprovedAmount
我试过了:
<script type="text/javascript">
setValue(@Html.Raw(Model.ApprovedAmount))
</script>
它不起作用。
我怎么能这样做?
答案 0 :(得分:0)
您现有的代码可能不需要Html.Raw()
来电,但除此之外,它至少看起来是正确的:
<script type="text/javascript">
setValue(@Model.ApprovedAmount)
</script>
您可能需要考虑一些事项来进一步解决此问题:
检查参考文献
首先,请确保在示例中显示的现有setValue()
标记之前引用了定义<script>
函数的Javascript文件。这很重要,否则您的网页将无法知道setValue()
是:
<script src='your-file-with-setvalue-defined.js'></script>
<script>
setValue(@Model.ApprovedAmount);
</script>
使用开发人员工具
检查浏览器中的开发人员工具(F12),特别是网络和控制台选项卡。这些将揭示有关确切出错的更多细节(即404错误,未定义的函数,错误的参数等)。
使用debugger
考虑在debugger
函数中使用setValue()
关键字来查看它是否被调用以及传递的值是什么样的:
<script>
// Run this with your Developer Tools open and step into the function to
// see more
debugger;
setValue(@Model.ApprovedAmount);
</script>
示例强>
您可以see a complete example here并在下面看到,它展示了按预期工作的基本理念:
// HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
return View(new SampleViewModel(){ Amount = 42 });
}
}
// SampleViewModel.cs
public class SampleViewModel
{
public int Amount { get; set; }
}
// Index.cshtml
@model HelloWorldMvcApp.SampleViewModel
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Calling Function From Model</title>
</head>
<body>
<script>
function setValue(amount) {
alert(amount);
}
setValue(@Model.Amount);
</script>
</body>
</html>
答案 1 :(得分:0)
假设您只是在视图上执行此操作,您可以执行以下操作:
<text><b>some text:</b> </text> @Html.TextBox("something", null, new { "callsomefunction"() })
答案 2 :(得分:0)
谢谢大家,我只需要使用该函数的文件点名称的名称,它就可以了。 jsfile.setValue(@ Model.ApprovedAmount);