2015-10-19 80 views
2

我是C#中的新成員,特別是在MVC中。 我想用這樣的模型返回一個觀點:如何知道誰在頁面上?

public ActionResult Index() 
{ 
    return View(db.MyModel.Where(a => a.EmployeID == m_idEmployee)); 
} 

特定員工(其中m_idEmployee是員工/用戶的id,但就目前而言,這是我給自己設定的值)

我不使用從Visual Studio中的loggingaccount方法(對我來說不是很清楚)

所以我想知道我是否可以在索引中「傳遞」值設置m_idEmployee(從我的視圖爲例)。

+0

如果這就像應用程序中的內聯網的一部分,我真的會鼓勵你花了一些時間上的安全方法是開箱即可使用。在Intranet應用程序中,Windows身份驗證非常方便。只需從Visual Studio中創建一個示例項目,並指定您想使用Windows身份驗證來掌握一個工作示例。 –

回答

3

您可以通過員工ID添加到索引方法,如:

public ActionResult Index(int empId) 
{ 
    return View(db.MyModel.Where(a => a.EmployeID == empId)); 
} 

你必須改變你是傳遞它作爲查詢字符串或可替代相應調用Index方法的方式改變動詞張貼; model binder將照顧它。

ModelBinder的快速參考:

地圖瀏覽器請求的數據對象。該類提供了一個 模型綁定器的具體實現。

+0

感謝您的快速報告! – Jeflow

+0

@Jeflow歡迎您,如果您的問題已解決,請考慮通過點擊複選標記來接受它。這向更廣泛的社區表明,您已找到解決方案併爲回覆者和您自己提供了一些聲譽 –

1

更改您的控制器方法:

public ActionResult Index(int employeeId) 

然後創建視圖的操作:

@Html.ActionLink("Text of the link", "Index", "NameOfYourController", new { employeeId = 123 }) 
+0

感謝您的快速反饋! – Jeflow

1

,你可以在一個類中Independente酒店創造收益類值

和在你的控制器類中調用這樣的功能

EmployerModel.class

public findEmployerById(int id){ 
return db.MyModel.Where(a => a.EmployeID == id); 
} 


public ActionResult Index(int id) 
{ 
    return View(new EmployerModel().findEmployerById(id)); 
} 

,並在你看來,你需要添加

@model package.MyModel 
相關問題