如何使用jscript中声明的参数调用Html.RenderAction()?

时间:2012-06-05 12:37:08

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

我在* .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]});}');

这样的东西

我该怎么办呢?

1 个答案:

答案 0 :(得分:7)

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

load docs

  

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