Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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#_Html_Asp.net Mvc - Fatal编程技术网

C# 基于表单中的复选框在视图中显示

C# 基于表单中的复选框在视图中显示,c#,html,asp.net-mvc,C#,Html,Asp.net Mvc,我在从表单获取复选框的值时遇到一些问题。我可能做错了什么,但我一辈子都搞不清楚 我的视图中的代码如下所示: @using (Html.BeginForm("DisplayEmpPhotos", "Home", null, FormMethod.Post, new { id = "GetEmpNumbers" })) { <div id = "empForm"> <br/> Event Name:<input type ="text" name="

我在从表单获取复选框的值时遇到一些问题。我可能做错了什么,但我一辈子都搞不清楚

我的视图中的代码如下所示:

@using (Html.BeginForm("DisplayEmpPhotos", "Home", null, FormMethod.Post, new { id = "GetEmpNumbers" }))
{


<div id = "empForm">
    <br/>
    Event Name:<input type ="text" name="EventName"/>
    <br/>
    Event Dates:<input type ="text" name="EventDates"/>
    <br/>
    <br/>
    <br/>
    Enter Employee IDs:
    <br/>
    Consultant: <input type="checkbox" name="consultant" value="include" checked="checked" />
    <br/>
}
public ActionResult DisplayEmpPhotos(string EventName, string EventDates, string consultant)
{
    ViewData["EventName"] = EventName;
    ViewData["EventDates"] = EventDates;
    if(consultant == "include")
    {
        ViewData["Image"] = "<img src ='imgsrc' alt='First&nbsp;Last' class='nopad'/>";
        ViewData["Name"] = "First&nbsp;Last";
        ViewData["Deparment"] = "C";
        ViewData["Title"] = "Consultant";
    }
@使用(Html.BeginForm(“DisplayEmpPhotos”,“Home”,null,FormMethod.Post,new{id=“GetEmpNumbers”}))
{

事件名称:
活动日期:


输入员工ID:
顾问:
}
该复选框下面有几个文本框输入,但它们工作正常

控制器中的代码如下所示:

@using (Html.BeginForm("DisplayEmpPhotos", "Home", null, FormMethod.Post, new { id = "GetEmpNumbers" }))
{


<div id = "empForm">
    <br/>
    Event Name:<input type ="text" name="EventName"/>
    <br/>
    Event Dates:<input type ="text" name="EventDates"/>
    <br/>
    <br/>
    <br/>
    Enter Employee IDs:
    <br/>
    Consultant: <input type="checkbox" name="consultant" value="include" checked="checked" />
    <br/>
}
public ActionResult DisplayEmpPhotos(string EventName, string EventDates, string consultant)
{
    ViewData["EventName"] = EventName;
    ViewData["EventDates"] = EventDates;
    if(consultant == "include")
    {
        ViewData["Image"] = "<img src ='imgsrc' alt='First&nbsp;Last' class='nopad'/>";
        ViewData["Name"] = "First&nbsp;Last";
        ViewData["Deparment"] = "C";
        ViewData["Title"] = "Consultant";
    }
public ActionResult DisplayEmpPhotos(字符串事件名称、字符串事件日期、字符串顾问)
{
ViewData[“EventName”]=EventName;
ViewData[“EventDates”]=事件日期;
如果(顾问=“包括”)
{
ViewData[“图像”]=“”;
ViewData[“Name”]=“First-Last”;
ViewData[“部门”]=“C”;
ViewData[“标题”]=“顾问”;
}
视图中包含以下内容:

<td class="smalltext">
        @ViewData["Image"]
        <p>
        @ViewData["Name"]
        </p>
        @ViewData["Department"]
        <br/>
        @ViewData["Title"]
</td>

@ViewData[“图像”]

@ViewData[“名称”]

@ViewData[“部门”]
@ViewData[“标题”]

我的想法是,如果选中该框,它的值将被传递,我应该能够将Viewdata分配给该信息并在视图中显示它。我知道这样的硬编码值是不好的做法,但对于我正在做的事情来说,这是可以接受的。对于我所做的错误,任何帮助都是值得的。

您的控制器中有变量方法名为“checkbox”,当它应该是“consultant”时,您确实应该使用Html
checkbox
helper

因此,我们认为:

Consultant: @Html.Checkbox("consultant", true)
在控制器中,将值更改为布尔值:

public ActionResult DisplayEmpPhotos(string EventName, string EventDates, bool consultant)
{
   ViewData["EventName"] = EventName;
   ViewData["EventDates"] = EventDates;

   if(consultant)
   {
       ViewData["Image"] = "<img src ='imgsrc' alt='First&nbsp;Last' class='nopad'/>";
       ViewData["Name"] = "First&nbsp;Last";
       ViewData["Deparment"] = "C";
       ViewData["Title"] = "Consultant";
   }
}
public ActionResult DisplayEmpPhotos(字符串EventName、字符串EventDates、bool顾问)
{
ViewData[“EventName”]=EventName;
ViewData[“EventDates”]=事件日期;
国际单项体育联合会(顾问)
{
ViewData[“图像”]=“”;
ViewData[“Name”]=“First-Last”;
ViewData[“部门”]=“C”;
ViewData[“标题”]=“顾问”;
}
}
如果这对您不起作用,请告诉我。

如果在ActionResult中您将
字符串复选框更改为
字符串顾问


有时MVC会对我这样做,当我将输入的名称更改为我在actionResult中声明它们的方式时,它们就会工作。

谢谢,这很有意义。但是,数据仍然没有显示在我的视图中。我也会用这些代码编辑问题。