Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC5:如何将数据传递给视图?_C#_.net_Asp.net Mvc_Asp.net Mvc 5_Razorengine - Fatal编程技术网

C# ASP.NET MVC5:如何将数据传递给视图?

C# ASP.NET MVC5:如何将数据传递给视图?,c#,.net,asp.net-mvc,asp.net-mvc-5,razorengine,C#,.net,Asp.net Mvc,Asp.net Mvc 5,Razorengine,我对此操作有问题: “activateOffreLocation”检查“Publication_Statut”的值并将其更改(如果它等于“activeée”,则操作将其更改为“Désactivée”,反之亦然) 我没有收到任何错误!在请求确认后,它会简单地切换到“listOffreLocation”视图 我试图用断点跟踪执行,结果发现在我的Post操作中“offreLocation”为空,而ID为空,它在第一个视图中包含所选项目的正确值 // GET: /OffreLocati

我对此操作有问题:

“activateOffreLocation”检查“Publication_Statut”的值并将其更改(如果它等于“activeée”,则操作将其更改为“Désactivée”,反之亦然)

我没有收到任何错误!在请求确认后,它会简单地切换到“listOffreLocation”视图

我试图用断点跟踪执行,结果发现在我的Post操作中“offreLocation”为空,而ID为空,它在第一个视图中包含所选项目的正确值

         // GET: /OffreLocation/Activate
    public ActionResult ActivateOffreLocation(int id)
    {
        return View(db.PublicationSet.Find(id));
    }


    // POST: /OffreLocation/Activate
    [HttpPost]
    public ActionResult ActivateOffreLocation(int id, OffreLocation offreLocation)
    {
        try {
            var statut = offreLocation.Publication_Statut;

               if(String.Equals(statut,"Activée"))
                        {
                            offreLocation.Publication_Statut = "Désactivée";
                            db.SaveChanges();
                            return View();
                        }
            else 
                        {
                            offreLocation.Publication_Statut = "Activée";
                            db.SaveChanges();              
                            return RedirectToAction("ListOffreLocation"); 
                        }              
             } 
        catch (Exception exp)
        {
            Console.WriteLine("IOException source: {0}", exp.Source);
            return RedirectToAction("Error"); 
        }                      
    }
在我的视图“listOffreLocation”中,我刚刚定义了指向“activateOffreLocation”视图的链接:

“ActivateOffreLocation”视图:


请问您的位置在哪里?
Num:@Html.EditorFor(model=>model.Publication\u ID)
Statut@Html.EditorFor(model=>model.Publication\u Statut)

@使用(Html.BeginForm()) { @Html.AntiForgeryToken() @Html.HiddenFor(model=>model.Publication\u ID) @Html.HiddenFor(model=>model.Publication\u ID) | @ActionLink(“Retourála Liste”,“listoff重新定位”) }
首先,您没有向视图“ActivateOffreLocation”传递任何模型。您也没有向您的操作发送任何模型数据,您的模型是“OffreLocation”。这可能是您的问题


如果您解决了这个问题,但它无法解决您的问题,请发布更多代码,我将更新我的答案。

是的,我在“ActivateOffreLocation”中使用了我的模型查看方式如下:@model COM.MENNILIK.Models.offrelocation我所做的是,我尝试使用get方法在激活视图中显示出版物的状态和ID,它工作正常。但一旦我单击submit按钮,它就会丢失对象,因此我无法更改数据库中的任何内容(post操作无法获取对象),因此我想知道如何将此对象从激活视图传递到激活后操作(语法)您正在尝试从“提交”按钮传递值;我建议改为使用隐藏输入。要从“提交”按钮传递值,请阅读本文,我使用了hidenInput,并尝试了ur链接中描述的过程!在post操作中仍然获得空对象:public ActionResult ActivateOffreLocation(int id,OffreLocation OffreLocation)您的整个对象是空的还是仅此属性?
@Html.ActionLink("Désactiver", "ActivateOffreLocation", new { id = item.Publication_ID }) | 
<fieldset style="border:dashed; margin-top:80px">
<h3 style="text-align: center; margin-left:80px; margin-top:80px">  Voullez vous vraiment désactiver cette offre de location?   
</h3>
<h4 style="text-align:center">  Num:    @Html.EditorFor(model => model.Publication_ID) </h4>
<h4 style="text-align:center">  Statut    @Html.EditorFor(model => model.Publication_Statut) </h4>
    <div style="margin-bottom:80px">

        <hr />


        @using (Html.BeginForm())
        {
            @Html.AntiForgeryToken()
            @Html.HiddenFor(model =>model.Publication_ID) 
            <div class="form-actions no-color" style="text-align:center">
                @Html.HiddenFor(model => model.Publication_ID)
                <input type="submit" value="Désactiver" class="btn btn-default" /> |
                @Html.ActionLink("Retour à la  Liste", "ListOffreLocation")

            </div>
        }
    </div>
 </fieldset>