2012-03-15 41 views
0

嗨即时尝试从部分视图或控制器(mvc)在头部放置链接文件,但无法找出或找到任何好的mvc 2示例,任何人都有想法?从部分视图放置头文件的css文件

我试图this评论吉姆Tollan由

它呈现在身体我下面,即时通讯不知道这是什么好?

<script type='text/javascript'> 

    $(function(){ 

     $('head').prepend('<link rel="canonical" href="/product/productname/productid"></link>'); 

    }); 

</script> 

我很感激任何帮助,我可以得到这个即时抓我的头在这个问题上整天现在。

编辑
这是我当前的代码(这仅仅是样机代码复制我的真实的情景)

索引页

头内容

<asp:Content ID="Content3" ContentPlaceHolderID="HeadContent" runat="server"> 
    <%: ViewData["Message"] %> 
</asp:Content> 

<div id="container"> 
     empty 
</div> 

    <a href="#" class="click-me">Click me</a> 

控制器操作

public ActionResult Index() 
    { 
     ViewData["Message"] = "this is"; 
     return View(); 
    } 

[HttpPost] 
public PartialViewResult Index(string value) 
{ 
    ViewData["Message"] = "this is not"; 
    return PartialView("_homePartial"); 
} 

jQuery的

$(".click-me").click(function() { 
       $.post("/Home/Index", function (data) { $('#container').html(data); }, "html"); 

和多数民众赞成它,其明显的可视数据被设置在控制器后的动作,但之后其未设置,这就是为什么我需要一个jQuery的解决方案或办法在头像视图中设置头部内容。 });

+0

任何机会,你可以升级到ASP.Net MVC 3并开始使用Razor与@RenderSection语法? – 2012-03-15 15:17:06

+0

你连接到的stackoverflow问题中的哪个方法你尝试过? – 2012-03-15 15:18:31

+0

@ShaneCourtrille,这将如何帮助? – 2012-03-15 15:23:02

回答

0

我又得瑟该解决方案的影响,并进行监控,但是这是我落得这样做。我把它放在我的部分视图中,那就是它。如果有人对这个好或坏有一些评论,请让我知道。

$('head').append('content'); 
0

由于您使用的是Mvc 2,因此您可以使用ViewData

用适当的链接在部分视图中设置ViewData。

ViewData["productlink"] = "/product/productname/productid"; 

在布局页有这样的代码里面head部分

if(ViewData["productlink"] != null){ 
    <link rel="canonical" href="<%= ViewData["productlink"].toString() %>"></link> 
} 
+0

好吧,我有可能呈现链接的动作,但即时通讯使用jQuery来渲染一个部分,所以我的问题是你的例子将它放在视图标题contentplaceholder中并在这种情况下渲染它?就像我说的即时通讯尝试从局部视图做到这一点 – 2012-03-15 15:28:55

+0

我试过了,它不起作用,我需要从局部视图更新头部。 – 2012-03-15 15:44:09

+0

你能证明你所尝试过的吗? – ShankarSangoli 2012-03-15 15:52:51