Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 将值从视图传递到控制器_C#_Asp.net Mvc_Inline Editing - Fatal编程技术网

C# 将值从视图传递到控制器

C# 将值从视图传递到控制器,c#,asp.net-mvc,inline-editing,C#,Asp.net Mvc,Inline Editing,好的,我最近问了一个非常类似的问题,我得到了很好的回答。但是,我可能没有准确地表达我的问题,因此我将在这里再次尝试: 这是我的看法 @using (Html.BeginForm()) { <h3 class="editable">@Model.Title</h3> <input type="submit" value="submit"> } 是数据库中的属性,我希望能够使用内联编辑器对其进行更改 @Model.Title 此代码将生成相同的结

好的,我最近问了一个非常类似的问题,我得到了很好的回答。但是,我可能没有准确地表达我的问题,因此我将在这里再次尝试:

这是我的看法

@using (Html.BeginForm())
{
<h3  class="editable">@Model.Title</h3>

<input type="submit" value="submit">   

} 
是数据库中的属性,我希望能够使用内联编辑器对其进行更改

@Model.Title
此代码将生成相同的结果:

@using (Html.BeginForm())
{
    <h3  class="editable">@Model.Title</h3>

    <input type="text" id="testinput" name="testinput" />

    <input type="submit" value="submit">
   } 
Controller:


[HttpPost]
        public ActionResult FAQ(string testInput)
        {


            page.Title = testInput;

            return View();
        }
@使用(Html.BeginForm())
{
@模型名称
} 
控制器:
[HttpPost]
公共操作结果常见问题解答(字符串测试输入)
{
页面标题=测试输入;
返回视图();
}
尽管如此,这并没有使用我想要的内联编辑器

是否有办法将
视为一个
文本框,允许我将其中的内容发送给控制器?

我想明确表示,我不想直接向控制器发送
@model.title
。 我想发送通过单击
并使用内联编辑器更改创建的值


谢谢大家!

当您以这种方式提交表单时,控制器将尝试将其与正确的对象类型相匹配。如果只想传回1或2个对象,请尝试使用操作链接。这些应允许您传入名称与控制方法匹配的值。

查看:

@model MvcApplication2.Models.ShopItem

@{
    ViewBag.Title = "Shop";
}

<h2>ShopView</h2>
@using (Html.BeginForm())
{
    <h3 class="editable">@Model.Name</h3>
    @Html.TextBox("Cost",0.00D,null)
    <input type="submit" title="Submit" />
}
控制器:

    public ActionResult Shop()
    {
        ShopItem item = new ShopItem();
        return View(item);
    }

    [HttpPost]
    public ActionResult Shop(decimal Cost)
    {
        ShopItem item = new ShopItem();
        item.Cost = Cost;

        return View(item);
    }

如果你把它放在HomeController中,测试它。您将看到我的输入具有强类型,并且与我的操作输入相匹配

谢谢您的回答!我是mvc的新手,如果有时间的话,你介意发布一个代码示例吗?还有,当你说控制器将尝试与名称匹配…这意味着如果我能给h3一个名称,它会匹配吗?但我可以这样做吗?您可能需要有自己的框架或使用现有的框架来完成此任务,名为x-editable。感谢您的帮助,我试图将您的代码粘贴到另一个项目中,看看是否可以从中学习到一些东西…在@html.textbox CS0121上出现错误:以下方法或属性之间的调用不明确:“System.Web.Mvc.html.InputExtensions.textbox(System.Web.Mvc.HtmlHelper,string,object,string)”和“System.Web.Mvc.html.InputExtensions.textbox”(System.Web.Mvc.HtmlHelper、字符串、对象、System.Collections.Generic.IDictionary)'
    public ActionResult Shop()
    {
        ShopItem item = new ShopItem();
        return View(item);
    }

    [HttpPost]
    public ActionResult Shop(decimal Cost)
    {
        ShopItem item = new ShopItem();
        item.Cost = Cost;

        return View(item);
    }