簡體   English   中英

使用ASP.NET MVC將數據發布到控制器

[英]POST data to controller with ASP.NET MVC

我正在將ASP.NET MVC與C#和純引導程序一起使用。 我的一個視圖包含一個標簽,文本輸入框和一個提交按鈕:

@{
   ViewBag.Title = "BinSearch";
   Layout = "~/Views/Shared/_LayoutSearch.cshtml";
}

<h2>BinConfig Search</h2>

@using (Html.BeginForm("FiEdit", "EditConfigController"))
{
    <div class="form-group">
        <label for="issuerKey">Issuer Key</label>
        <input type="text" name="key" />
        <input type="submit" class="btn btn-default" value="Search" />
    </div>
}

當我單擊“提交”按鈕時,我想將數據傳輸到控制器EditConfigController到此方法:

[HttpPost]
public ActionResult FiEdit(int key)
{
    return View(new IssuerKey().Key = key);
}

然后應該創建一個新視圖,在這里我可以根據提供的密鑰編輯數據。 這是FiEdit視圖:

@model BinFiClient.Models.IssuerKey

@{
    ViewBag.Title = "FiEdit";
    Layout = "~/Views/Shared/_LayoutEdit.cshtml";
}

<h2>FiEdit</h2>

但是,當我單擊“提交”按鈕時,我收到404錯誤,並且URL路徑如下所示:

http://localhost:58725/EditConfigController/FiEdit

這實際上是我上面發布的控制器中方法的路徑。

我基本上需要的是一種將數據發布到另一個控制器的方法。 我該怎么做?

編輯:現在我收到錯誤:

傳遞到詞典中的模型項的類型為'System.Int32',但是此詞典需要類型為'BinFiClient.Models.IssuerKey'的模型項。

您可以嘗試:

    @using (Html.BeginForm(("FiEdit", "EditConfigController", FormMethod.Post,
                new { enctype = "multipart/form-data" })))
{
    <div class="form-group">
        <label for="issuerKey">Issuer Key</label>
        <input type="text" name="key" />
        <input type="submit" class="btn btn-default" value="Search" />
    </div>
}

嘗試用以下代碼替換您的代碼:

@using (Html.BeginForm("FiEdit", "EditConfig", FormMethod.Post))
{
    <div class="form-group">
        <label for="issuerKey">Issuer Key</label>
        <input type="text" name="key" />
        <input type="submit" class="btn btn-default" value="Search" />
    </div>
}

這會將參數key到EditConfig控制器。

如果您想發布到另一個控制器中的操作TestEdit,例如說TestController,您的代碼應更改為以下內容:

@using (Html.BeginForm("TestEdit", "Test", FormMethod.Post))
...

要解決“模型項傳遞到字典中”的錯誤,請將POST更改為:

[HttpPost]
public ActionResult FiEdit(int key)
{
    return View(new IssuerKey() { Key = key });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM