![](/img/trans.png)
[英]Saving a JavaScript var into a C# Model in ASP.NET MVC 3 Razor?
[英]var javascript to asp.net MVC model
MVC的新增功能,尝试使用FSCommand(与其他功能配合使用)从Flash将变量从一个视图传递到另一个视图。 我正在使用的Javascript:
function p1_DoFSCommand(command, args) {
var p1Obj = InternetExplorer ? p1 : document.p1;
if (command == "nameClip") {
var FlashName = [args];
}
在Homecontroller中:
public ActionResult Testing(string FlashName)
{
ViewData["Message"] = FlashName;
return View();
}
在第二个视图中:
Html.Encode(ViewData["message"])
感谢您的协助。
这应该将数据获取到Action方法:
function p1_DoFSCommand(command, args) {
var p1Obj = InternetExplorer ? p1 : document.p1;
if (command == "nameClip") {
var FlashName = [args];
// might have to replace '?' with '&'
var formData = "?FlashName=" + FlashName;
$.post('/HomeController/Testing', formData, function(res)
{
// do stuff with response
}, "json");
}
您还需要引用jQuery才能正常工作。
如果您需要将该值传递给另一个控制器,只需更改
$.post('/HomeController/Testing', formData, function(res)
至
$.post('/OtherController/Testing', formData, function(res)
编辑:
我不确定您要做什么,但是ViewData是仅在Controller和执行View时才有意义的数据构造。 在运行JavaScript时,它处于呈现页面的上下文中,因此ViewData毫无意义。 如果您认为
<input id='MyMessage' type='hidden' value='<%=(string)ViewData['Message'] %>' />
,
然后,您可以获得所需的价值
$('#MyMessage').val();
要么
document.getElementById("MyMessage").value;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.