2017-08-21 81 views
1

我有一個MVC視圖在哪裏(因爲我想隱藏查詢字符串後),用戶可以設置一個標誌和後數據到控制器MVC,如何發佈數據,控制器和重定向到aspx頁面

控制器後已完成他的工作我想重定向到網站主頁,這是一個aspx頁面(我的網站是混合aspx和MVC)

有沒有辦法做到這一點?

這是我的看法

@model MessaggiVM 
<form role="form" class="form-inline" method="post" action="Messaggi/VaiAllaHome"> 
    <button id="btnHome">Vai alla pagina iniziale</button> 

    <div class="form-group"> 
     <label for="nascondi">hiding</label> 
     <input id="nascondi" type="checkbox" name="nascondi" value="true" /> 
    </div> 
    <input type="hidden" name="elencoPost" value="@Model.Posts" /> 
    @*@Html.ActionLink("Messaggi", "VaiAllaHome", new { posts = Model.Posts})*@ 
</form> 

而這個控制器

[HttpPost] 
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null) 
{ 
    // do something 

    return Redirect(Url.Content("~/")); 
} 

當我運行這段代碼的控制器操作的執行沒有錯誤,但重定向不這樣做,瀏覽器保留在視圖

其他問題是elencoPost參數在動作中爲空,但我正在調查它

編輯

老實說,我想張貼在輸入變化數據和一個簡單的鏈接開關按鈕

編輯2:

找到了原因:Default.aspx中我有一個自動重定向到Message頁面:(

+0

這些鏈接可以幫助你:對於帖子:https://www.codeproject.com/Articles/639709/Getting-D ata從視圖到控制器在MVC和重定向到aspx:https://stackoverflow.com/a/12977284/3365113 – TechGirl

+0

嘗試'返回重定向(「/ SomePage」);' – Izzy

+0

我必須使用「〜/」爲網站根目錄,iam在反向代理和相關鏈接下工作 –

回答

1

嘗試

return Redirect("~/home.aspx"); 

return Redirect(Url.Content("~/home.aspx") 
+1

找到原因:在default.aspx我有一個自動重定向到消息頁:(標記爲接受,因爲是更相關的 –

0

您應該能夠使用Redirect具有相對URL:

[HttpPost] 
    public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null) 
    { 
     // do something 

     return Redirect("/home.aspx"); 
    } 
+0

iam在反向代理和相對鏈接不能工作 –

-1

嘗試在你的控制器使用@ Url.Content你的表單標籤

<form action="@Url.Content("~/Messaggi/VaiAllaHome/")"> 

然後

[HttpPost] 
public RedirectResult VaiAllaHome(bool? nascondi = false, IEnumerable<Messaggio> elencoPost = null) 
{ 
    // do something 

    return View(Url.Content("~/")); 
    //return RedirectToAction("Action", "Controller", new { routeParameter = value } /*e.g. "id = 1"*/); 
} 
+0

OP說他正試圖重定向到ASP.NET Web窗體.aspx頁面 –

相關問題