MVC的新手,尝试使用FSCommand(与其他函数兼容)从一个视图向另一个视图传递变量。我正在使用的Javascript:
function p1_DoFSCommand(command, args) {
var p1Obj = InternetExplorer ? p1 : document.p1;
if (command == "nameClip") {
var FlashName = [args];
}
家庭控制器中的:
public ActionResult Testing(string FlashName)
{
ViewData["Message"] = FlashName;
return View();
}
在第二个视图中:
Html.Encode(ViewData["message"])
非常感谢您的协助。
答案 0 :(得分:0)
这应该将数据传递给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;