簡體   English   中英

更新數據庫中的值-MVC

[英]Update Values in Database - MVC

即時通訊使用可排序的jQuery插件,因為我希望用戶可以選擇在我的視圖中顯示圖像的順序。

為此,我有一個Get Controller,它將數據發送到我的PartialView。

我怎樣才能使現在的Post Controller更新數據庫中的表?

注意:此時控制器不接收任何數據。 我還沒弄清楚什么是錯的

有人可以幫我嗎?

提前致謝:

這是我的代碼:

在我的PartialView中:

@(Html.BeginForm("UpdateOrder", "Admin", FormMethod.Post)){
            <div id="Order">
                <ul id="sortable">

                    @foreach (var p in ViewBag.Images)
                    {           
                        <li id="@Html.AttributeEncode(p.FileName)">
                            <img src="~/Files/@p.FileName"/>
                        </li>
                     }
                </ul>
            </div>
         }

控制器:

if (ModelState.IsValid)
{
    using (SqlConnection cn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString))
    {
         SqlCommand cmd;
         System.Text.StringBuilder sql = new System.Text.StringBuilder();
         sql.Append("Update Image Set MyFileName=??? Order By ASC");

         cn.Open();
         cmd = new SqlCommand(sql.ToString(), cn);
         cmd.Parameters.Add(??????????).Value = ;

         cmd.ExecuteNonQuery();

         cn.Close();
     }
}      
return View();

您是否正在尋找這樣的東西?

SqlCommand comm = new SqlCommand("UPDATE Customers SET Name=@name WHERE ID=@id", con;
comm.Parameters.AddWithValue("@name", "John");
comm.Parameters.AddWithValue("@id", id);

要將數據從視圖傳遞到控制器,請查看以下鏈接:
ASP.NET MVC 3 Razor:將數據從視圖傳遞到控制器
ASP.Net MVC將多個參數傳遞給視圖

我已經為網站創建了一個后端,例如可以在其中添加,編輯,刪除事件。 因此,事件視圖中的片段如下所示:

<div id="tabs-2" class="ui-widget-content">
    <h2>
        Events</h2>
    <p>
        @Html.ActionLink("Create new Event", "EventCreate")
    </p>
    <table id="tableEvent">
        <tr>
            <th>
                Event
            </th>
            <th>
                Date
            </th>
            <th>
                Day of the Week
            </th>
            <th>
            </th>
        </tr>
        @foreach (var e in ViewBag.Events)
        {
            <tr id="@e.EventID">
                <td>
                    <h4>@e.EventName</h4>
                </td>
                <td>
                    <h4>@string.Format("{0:d}", e.Datum)</h4>
                </td>
                <td>
                    <h4>@e.Tag</h4>
                </td>
                <td>
                    @Html.ActionLink("Löschen", "EventDelete", new { id = e.EventID })
                </td>
            </tr>
        }
    </table>
</div>

我將ID傳遞給ActionLink中的控制器,然后調用EventDelete:

[Authorize]
public ActionResult EventDelete(int id)
{
    repevent.Delete(id);
    return RedirectToAction("Main");
}

現在我有了事件的ID,可以做任何我想做的事情。 (就我而言,我刪除了具有關聯ID的事件。

public void Delete(int id)
{
    using (KiGaDBEntities db = new KiGaDBEntities())
    {
        Event event = db.Event.SingleOrDefault(e => e.EventID == id);
        if (event != null)
        {
            db.Event.Remove(event);
            db.SaveChanges();
        }
    }
}

希望對您有所幫助!

暫無
暫無

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

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