2013-10-23 74 views
1

我需要在控制器中获取Guid.Empty并将其传递到视图。我试图用ViewBag,我在我的控制器在控制器中获取Guid.Empty并将其传递到视图

public class QuestionnaireController : Controller 
{ 
    //.... 
    ViewBag.EmptyGuid = Guid.Empty; 
} 

添加该代码,并鉴于

if (rowobject[6] == ViewBag.EmptyGuid) { //...} 

添加了这个代码,但我得到了在控制器
Error 1 Invalid token '=' in class, struct, or interface member declaration
Error 2 Invalid token ';' in class, struct, or interface member declaration

一些错误什么是错的,如何使它有效?

UPD
我在我的控制器改变了代码(我加ViewBag.EmptyGuid内法)

[HttpGet] 
    public ActionResult QuestionnaireIndex() 
    { 
     ViewBag.EmptyGuid = Guid.Empty.ToString(); 
     FillViewBags(); 
     return View(); 
    } 

,这是剧本在我看来

@section scripts{ 

<script type="text/javascript"> function buttonize(cellvalue, options, rowobject) { 
var buttons = ''; 

if (rowobject[5] == "False") { 
    buttons += '<input type="button" value="Edit" onclick="editQuestionnaire(' + options.rowId + ')">'; 
} 

buttons += '<input type="button" value="Delete" onclick="deleteQuestionnaire(' + options.rowId + ')">'; 

if (rowobject[6] == ViewBag.EmptyGuid) { 
    buttons += '<input type="button" value="Publish" onclick="publishQuestionnaire(' + options.rowId + ')">'; 
} 
else { 
    buttons += '<input type="button" value="Remove" onclick="removePublishQuestionnaire(' + options.rowId + ')">'; 
} 

return buttons; 
} 
</script> 
} 

回答

2

您可以直接在课堂上有代码,你需要一种方法。例如:

public class QuestionnaireController : Controller 
{ 
    public ActionResult Index() 
    { 
     ViewBag.EmptyGuid = Guid.Empty; 
     return View(); 
    { 
} 

这个错误真的有无关MVC:这是无效的C#语法和你得到一个编译错误。

在旁注中 - 当使用强类型模型时,我建议不要使用ViewBag(或几乎永远)。 rowobject[6]也是如此:我不确定那是什么,但是您肯定不希望数据读取器在您的视图中。当数据进入视图时,它应该已经被转换为模型。
另一方面,我不认为这是错误使用Guid.Emptydefault(Guid)在视图上。

+0

是的,我已经发现我的错误,但无论如何感谢您的帮助,但现在我不能得到我的'ViewBag.EmptyGuid'在视图中,我不知道什么是错的? – Heidel

+0

@海德尔 - 你能用真实的代码更新问题吗? – Kobi

+0

完成,我更新了这个问题。 – Heidel

相关问题