【问题标题】:How to store a value in javascript and use it in server side如何在javascript中存储一个值并在服务器端使用它
【发布时间】:2013-06-12 22:40:22
【问题描述】:

我正在尝试使用将下拉选择的值存储在 javascript 函数内的局部变量中,一旦下拉更改,当我单击锚标记以进行控制器调用时,我可以检索该值。

我目前正在尝试使用 Jquery 下拉更改功能来存储该下拉值(但不知道如何)。

我不能在 javascript 中使用 viewbag。 我尝试了隐藏值,但不确定这是否是正确的方法,因为我没有提交表单。

有没有办法在服务器端存储和检索该变量值?

【问题讨论】:

  • 你需要打一个ajax调用,我建议先了解ajax
  • !Zach 我更新了我的问题。

标签: c# javascript asp.net-mvc-3 razor


【解决方案1】:

HTML

<select id="DropDown" name="routetype">
    <option value="first">First</option>
    <option selected="selected" value="second">Second</option>
    <option value="third">Third</option>
</select>

<a id="anchor" href="#" />

JQuery

<script type="text/javascript">
    var selected;
    $(document).ready(function () {
        selected = $("#DropDown option:selected").attr('value');

        $('#DropDown').change(function () {  //Preserve the selected value here.
            selected = $("#DropDown option:selected").attr('value');
            return false;
        })

将选定的下拉值发送到控制器,如下面的 Ajaxifying 所述。

点击链接时的 Ajax 请求

        $('#anchor').click(function(){
            $.ajax({
                url: '@Url.Action("ActionName", "Controller Name")',
                type: 'POST',
                contentType: 'application/json',
                data: JSON.stringify({ Param: selected }),   //Dropdown value
                dataType: 'json'
            }).done(function () {                             //Success Callback
        });
    });
</script>

动作方法

[HttpPost]
public ActionResult Index(string Param)
{
    return View();
}

【讨论】:

  • @Kieran - 更新了帖子。
【解决方案2】:

您可以提出POSTGET 请求。
这是link 详细说明差异。
您可能希望使用 ajax 在不刷新页面的情况下进行这些调用,在这种情况下,jquery 很方便。

【讨论】:

  • 我目前正在使用 Jquery 下拉更改功能来存储该下拉值。但我有一个锚标记来调用控制器函数,但我怎样才能检索该值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-20
  • 1970-01-01
  • 2015-07-03
  • 1970-01-01
  • 1970-01-01
  • 2011-12-29
相关资源
最近更新 更多