不要在div中显示partialView

时间:2011-11-20 14:32:39

标签: asp.net-mvc asp.net-mvc-3

大家好我使用了<%= Ajax.ActionLink这样......

<%= Ajax.ActionLink("Change Image", "ChangeImgWithData", "Package", 
                 new AjaxOptions() {UpdateTargetId="img", InsertionMode= InsertionMode.Replace , HttpMethod="GET"})%>

<div id="img">  </div>

在我的控制器中我有这个..

  public ActionResult ChangeImgWithData()
        {
            if (Request.IsAjaxRequest())
            {
                return PartialView("~/Views/Package/_Change.ascx");
            }
            else
            {
                return View();
            }

我的Request.IsAjaxRequest()为空,我不是为什么?我想在img div

中显示partialView _change

任何想法?谢谢!

1 个答案:

答案 0 :(得分:2)

我不知道为什么IsAjaxRequest()为null但你可以创建一个返回partial的动作。像这样的东西

<%= Ajax.ActionLink("Change Image", "ChangeImgWithDataAjax", "Package", 
                 new AjaxOptions() {UpdateTargetId="img", InsertionMode= InsertionMode.Replace , HttpMethod="GET"})%>

<div id="img">  </div>


public ActionResult ChangeImgWithData()
{
  return View();
}

public ActionResult ChangeImgWithDataAjax()
{
  return PartialView("~/Views/Package/_Change.ascx");  
}

您可能还需要在视图中引用jquery unobtrusive-ajax库。

 <script src="<% Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js") %>" type="text/javascript"></script>