2013-10-23 72 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

相關問題