在MVC中使用_layouts时更改相对路径?

时间:2015-07-02 20:55:19

标签: asp.net asp.net-mvc asp.net-mvc-4 relative-path

我在_layouts页面调用控制器操作时遇到问题。我在_layouts页面上显示一条警告消息,以显示在所有页面上。

该消息包含指向控制器操作的链接。当我在http://localhost:42344/

等根页面时,它工作正常

但我在http://localhost:42344/eduction/http://localhost:42344/employment/http://localhost:42344/address/等其他控制器中。 Url不起作用,因为它有404错误,路径更改因此'/Address/ChangePrimaryBadAddress'更改。

在这种情况下如何处理?我们总是从控制器URL移动到另一个控制器URL。所以url路径总是会改变。

_Layouts.cshtml

 <div class="col-xs-12 col-sm-12 col-md-12">                    
       @Html.Partial("_alerts")
 </div>

_alerts.cshtml

 @model dynamic
<div id="displayMessage">    
</div>

js file

var msg = "<div class='alert alert-warning' role='alert' style='margin:0'>  Please update your address.  " +
       "<a  class='linkbutton' href='/Address/ChangePrimaryBadAddress'>Change Address</a>"
       +" </div>";

ShowMessage = function(msg) {
if ($.session.get('showwarning') == 'true') {

    $('#displayMessage').html(msg);
    $('#displayMessage').show();
    } else {
    $('#displayMessage').html('');
    $('#displayMessage').hide();
    }
 }

AddressController.cs

 public class AddressController : Controller
    {
           ....
           ....
             public ActionResult ChangePrimaryBadAddress()
             {
             }
  }

0 个答案:

没有答案
相关问题