【问题标题】:How to call Html.RenderAction() with parameters declarated in jscript?如何使用在 jscript 中声明的参数调用 Html.RenderAction()?
【发布时间】:2012-06-09 11:28:36
【问题描述】:

我在 *.cshtml 文件中有一个 javascript

$(function () {

sliderDiv.slider({
  range: true,
  min: minVal,
  max: maxVal,
  values: [minVal, maxVal]
});

sliderDiv.bind("slidechange", function (event, ui) {

  var d = "min=" + ui.values[0] + "&max=" + ui.values[1];
  $.ajax({
    type: "POST",
    url: '@Url.Action("Update", "Default")',
    data: d,
    success: function (result, ajaxObj) {
        alert('ok');
        alert(result.min + " - " + result.max);
        $("#ajaxresult").html('@{Html.RenderAction("Update", "Default");}');
    },
   error: function (ajaxObj, message, exceptionObj) { alert('no'); }
});
});
}

和控制器:

public ActionResult Update(int? min, int? max)
        {
            if(min == null) min = 1;
            if(max == null) max = 1;
            var s = new SliderModel()
                                {
                                    min = (int)min * 1000,
                                    max = (int)max * 1000
                                };

            return new JsonResult
                       {
                           Data = s,
                           ContentEncoding = Encoding.UTF8,
                           JsonRequestBehavior = JsonRequestBehavior.AllowGet,
                           ContentType = "json"
                       };

        }

我想用这条线

$("#ajaxresult").html('@{Html.RenderAction("Update", "Default");}');

ui.values[0]ui.values[1]作为minmax参数发送到Html.RenderAction("Update", "Default")

类似$("#ajaxresult").html('@{Html.RenderAction("Update", "Default", new {min = ui.values[0], max = ui.values[1]});}');

我怎么能这样做???

【问题讨论】:

  • 嘿迪玛,你试过我的回答了吗?成功了吗?
  • 是的,我刚试过。谢谢,它有效...

标签: c# javascript jquery asp.net-mvc


【解决方案1】:
var url = '@Url.Action("Update", "Default")';
url += '/?min=' + ui.values[0] + '&max=' + ui.values[1];
$("#ajaxresult").load(url);

load docs:

描述:从服务器加载数据并将返回的 HTML 放入匹配的元素中。

【讨论】:

    猜你喜欢
    • 2021-08-03
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多