var javascript到asp.net MVC模型

时间:2010-06-23 07:44:28

标签: javascript asp.net-mvc

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"])

非常感谢您的协助。

1 个答案:

答案 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;