Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将模型字段传递给视图中的Javascript函数?_Javascript_Asp.net Mvc_Razor_Asp.net Mvc 4 - Fatal编程技术网

如何将模型字段传递给视图中的Javascript函数?

如何将模型字段传递给视图中的Javascript函数?,javascript,asp.net-mvc,razor,asp.net-mvc-4,Javascript,Asp.net Mvc,Razor,Asp.net Mvc 4,今晚我有一个简单的问题一直困扰着我。。。我有一个ASP.NET MVC4+Razor应用程序。当用户单击单选按钮时,我想将一个字符串值从模型中的字段“Timezone”传递给onclick处理程序,它是一个javascript函数。在javascript函数中,我将获取字符串并进行一些工作,但现在,我只需弹出一个alert()。我已经找到了很多关于必须进行特殊引用的引用,并且我已经尝试了所有引用,但是无论我做什么,警报都不会显示任何内容,但是带有单选按钮的表单会在其时区文本框中向我显示一个有效值

今晚我有一个简单的问题一直困扰着我。。。我有一个ASP.NET MVC4+Razor应用程序。当用户单击单选按钮时,我想将一个字符串值从模型中的字段“Timezone”传递给onclick处理程序,它是一个javascript函数。在javascript函数中,我将获取字符串并进行一些工作,但现在,我只需弹出一个alert()。我已经找到了很多关于必须进行特殊引用的引用,并且我已经尝试了所有引用,但是无论我做什么,警报都不会显示任何内容,但是带有单选按钮的表单会在其时区文本框中向我显示一个有效值

我非常感谢你帮我找出我做错了什么。。。如果这是不可能的(为什么?),那么我可以从javascript函数访问模型的值吗?我尝试了@model.Timezone,但总是有一个空字符串。当我知道这一定是件很容易的事情时,真的很烦人!无论如何,下面是单选按钮和简单javascript函数的代码。我真的很感激你的帮助

谢谢, 迈克


您可以尝试以下代码:

@Html.RadioButtonFor(model => model.TimezoneSource, "C",
    new {propertyName = "UpdateTimezoneRadioButton", 
        onClick = "TimezoneClicked('" + Model.Timezone + "')" })Update Timezone

function TimezoneClicked(timezone) {
alert(timezone);
}

你不应该这样做

  onClick = "TimezoneClicked(@model.Timezone)" 
当您在html助手函数中使用它时,它将被视为普通字符串。相反,您应该执行以下操作:

onClick = "TimezoneClicked('" + Model.Timezone + "')"
这将把对象中的Timzone值传递给函数。如果该属性仍然为空,请尝试按如下方式打印出来,以确保该属性不是空的

<span> @Model.Timezone </span>
@Model.Timezone

如果需要在函数中获取任何dom元素,可以执行以下操作:


document.getElementById('@Html.IdFor(model=>model.Draw)
您是否检查了以下代码?
<span> @Model.Timezone </span>