我是超新的MVC3和C#,所以請原諒我的noob問題。我幾乎整整一天都在爲此苦苦掙扎,並希望有人能夠闡明一些看法(我已經搜索了這個網站以尋找線索,提示和答案)。使用LINQ/MVC3/C#的Dropdownlist問題讓它綁定
我在我的數據庫中有一個表,它將保存所有的數據。這是一個配置文件編輯器,它將存儲用戶可以在選擇時自動填充其計時輸入表單的值。我在第一步,試圖用配置文件名填充第一個下拉列表。我正在使用LINQ,MVC3/Razer和C#。
這裏是我的dbml: 廣東話後的圖像,因爲我新
http://imageshack.us/photo/my-images/560/timem.png/
這裏是我的模型:
namespace Timekeeping.Models
{
public class Profile
{
public int Profile_ID { get; set; }
public string profilename { get; set; }
public string networkuserid { get; set; }
public int projectnumber { get; set; }
public int costcode { get; set; }
public int paycode { get; set; }
public int jobtype { get; set; }
public int workorder { get; set; }
public int activity { get; set; }
public string taxarea { get; set; }
public IEnumerable<Profile> profiles { get; set; }
}
public class ProfileViewModel
{
public int Profile_ID { get; set; }
public IEnumerable<SelectListItem> profiles { get; set; }
}
}
這裏是我的控制器:
namespace Timekeeping.Controllers
public class TimeProfileController : Controller
{
private static String strConnString = ConfigurationManager.ConnectionStrings["timekeepingConnectionString"].ConnectionString;
[HttpGet]
public ActionResult ProfileSelect()
{
profileConnectionDataContext dataContext = new profileConnectionDataContext(strConnString);
var model = new ProfileViewModel();
var rsProfile = from fbs in dataContext.TimeProfiles select fbs;
ViewData["ProfileList"] = new SelectList(rsProfile, "Profile_ID", "profilename");
return View(model);
}
}
這裏是我嘗試過的所有不同的HTML幫助器我查看(無工作):
@Html.DropDownList("rsProfile", (SelectList)ViewData["ProfileList"]))
@Html.DropDownListFor(
x => x.Profile_ID,
new SelectList(Model.profiles, "Values", "Text"),
"-- Select--"
)
@Html.DropDownListFor(model => model.Profile_ID, Model.profilename)
我知道這是一個爛攤子看看,但我希望有人能幫助這樣我就可以得到與硬的部分。在此先感謝您的幫助,我從社區
有一個問題:Value = fbs.Profile_ID, Text = fbs.profilename由於fbs沒有聲明,我怎麼能使用它? TY爲你提供幫助的人 – Alex
@Alex,對不起,這就是當我在沒有測試的情況下直接輸入代碼時發生的情況。它應該是'x'而不是'fbs',因爲這就是我命名變量的方式。 –
異常詳細信息:System.NullReferenceException:未將對象引用設置爲對象的實例。第51行:@ Html.DropDownListFor( – Alex