0

此代码MembershipUserCollection有一些无效参数

​​

trows当它到达ViewBag.user[0].UserName

异常的异常:

为“System.Web.Security.MembershipUserCollection的最佳重载的方法匹配。这[字符串]'有一些无效参数

动作:

public ActionResult EditUser() 
    { 

     //Resgata username do registro 
     string user = Request.QueryString["username"]; 

     try 
     { //Se nome foi resgatado 
       String.IsNullOrEmpty(user) 

       MembershipUserCollection muc = Membership.FindUsersByName(user); 
       ViewBag.user = muc; 


      return PartialView(); 

     } 
     catch (Exception e) 
     { 

      return Content("Erro: " + e); 

     } 

    } 

回答

0

在您看来,您所使用的整数索引

ViewBag.user[0] 

由于异常状态,访问您需要提供一个字符串参数MembershipUserCollection访问该集合。

参见文档 - http://msdn.microsoft.com/en-us/library/system.web.security.membershipusercollection.item.aspx

获取会员用户通过指定的用户名引用的收藏。

,而不是从你的控制器方法返回集合中,只返回一个MembershipUser对象

在你的控制器:

 MembershipUser membershipUser = Membership.GetUser(user, false); 
     ViewBag.user = membershipUser; 

您认为:

替换值= ViewBag.user [0] .UserName with value = ViewBag.user.UserName

+0

的MembershipUser的MembershipUser =会员寻找用户。 GetUser(“admin”,false); ViewBag.user = membershipUser;我仍然一无所获。没有错误,但没有数据。而管理员用户在那里。 –

0

该错误表明集合是expecting a string key来访问不是索引的元素。

您也可以试试这个

ViewBag.user.ElementAt(0).UserName 

如果您在您的网页上期待一个用户对象,然后设置ViewBag.User到一个用户对象,并避免在位置0