Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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# 如何在控件中打印值-MVC3_C#_Asp.net Mvc 3 - Fatal编程技术网

C# 如何在控件中打印值-MVC3

C# 如何在控件中打印值-MVC3,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我想打印存储在控制器对象中的值。我试图寻找答案,但没有找到正确的答案。请帮忙 //my code in control public ActionResult PrintOutput() { ModalClass myObject = new ModalClass myObject.load(str); ViewBag.myOject = myOje

我想打印存储在控制器对象中的值。我试图寻找答案,但没有找到正确的答案。请帮忙

//my code in control  

 public ActionResult PrintOutput()
        {
                ModalClass myObject = new ModalClass              
                myObject.load(str);
                ViewBag.myOject = myOject.ToString();
                return View("PositionPrint");
        }




   //In view page I have created a **PartialView**. Inside partial view I
   // have given below code alone


         @Html.Raw(@ViewBag.myOject) 

不能将对象用作变量名-它是语言的关键字。控制器通常通过返回一个视图来“打印”值,该视图由视图包或自定义模型中的数据填充。如果只需要打印原始html字符串-
@html.raw(myObject)

在控制器操作中,您需要将值放在某个位置,以便视图可以访问它。例如:

public ActionResult PrintOutput(sting str)
{
   Modalclass myObject = new Modalclass(); 
   myObject.load(str);

   ViewBag.myObject = myObject; //probably at least ToString() call is due here
   return View();
}
在视图中,使用
@Html.Raw(@ViewBag.myObject)
打印其中的内容


但你真的不应该试图打印出整个对象的内容。那是一种毫无意义的行为。(调试除外)必须具体。对象中的每个数据属性都应打印到视图上的特定ui元素。

如果可能,请尽量避免使用动态神奇变量,如
ViewBag
ViewData
。这些神奇的变量让你的代码难看始终尝试使用强类型

为您的视图设置一个
ViewModel
。如果你想打印客户的详细信息。您可以像这样创建一个ViewModel(它只是一个POCO)

public class CustomerPrint
{
  public string FirstName { set;get;}
  public string JobTitle { set;get;}
}
@model YourNameSpaceName.CustomerPrint
现在,在控制器操作中,设置该值并将其传递给视图

public ActionResult PrintOutput()
{ 
  var customerPrintVM=new CustomerPrint();
  customerPrintVM.FirstName="Jon";
  customerPrintVM.JobTitle="Developer";
  return View(customerPrintVM);
}
因为我们正在传递CustomerPrint类的对象,所以我们的视图应该是强类型的。所以像这样改变你的观点

@model CustomerPrint

<h2>This is your view content</h2>
<p>@Model.FirstName</p>
<p>@Model.JobTitle</p>
@Html.Raw(Model.FirstName)

您可以使用此格式访问模型的属性
Model.PropertyName
(例如:
Model.FirstName
),如果表达式不在代码块中,您需要在razor中使用
@

谢谢您的回复![ViewBag.\u ObjectPM=\u ObjectPM;]我已经给出了我在上面提到的代码,并在[return View(“PositionPrint”,\u ObjectPM);]和部分视图页面[@Html.Raw(@ViewBag.\u Object)]中给出了代码。。但是没有运气。我觉得我遗漏了一些东西,物体里的东西。Modalclass的源代码是什么?在问题正文中提供更多关于这个问题的代码,这样我们就有了一个材料来研究=)什么是ModalClass?它的来源在哪里?