我正在尝试从 javascript 函数中为表单上的组合框的内容分配一个 razor 变量。像这样:
<script type ="text/javascript">
<!--
function SomeFunction() {
var hours = document.getElementById("Hours");
var task = document.getElementById("TaskType_ID");
@{
var tsk = @:task.value;
}
@{
<text>
hours.value = '@ViewBag.TaskTypes.GetHours(tsk)';
</text>
}
return true;
}
//-->
</script>
线路(以及我尝试过的所有其他变体)
var tsk = @:task.value;
导致错误。
最佳答案
正如 Chris 指出的那样,您正在混合客户端和服务器代码。 javascript是客户端代码,你需要来自服务器的数据通过ajax调用函数(get/post)返回你想要的值。以下是您可以对其采取的措施的片段代码:
$("#tasks").change(function(){
$.get('url',$(this).val(), function(data){
// data is the hours returned from the selected task
$("#hours").val(data);
});
});
或者,您可以始终将任务的值存储在变量中,而不是每次选择任务时都调用服务器。谢谢
关于javascript - 在 javascript 中设置 Razor 变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6500941/