我需要的GetUsers一個計數,但我有3個不同的計算無論是α,搜索和byEmail參數我能在這種情況下我的ObjectDataSource SelectCount方法SelectCount由三個選項的ObjectDataSource
public class Users
{
public IList<MembershipUser> GetUsers(string alpha, string search, bool byEmail, int startRowIndex, int maximumRows)
{
IList<MembershipUser> users = null;
if (alpha != null && search == null)
{
users = Membership.GetAllUsers().Cast<MembershipUser>().Where(x => x.UserName.StartsWith(alpha) == true).ToList();
}
else if (search != null && !byEmail)
{
users = Membership.FindUsersByName(search).Cast<MembershipUser>().Skip(maximumRows * startRowIndex).Take(maximumRows).ToList();
}
else
{
users = Membership.FindUsersByEmail(search).Cast<MembershipUser>().Skip(maximumRows * startRowIndex).Take(maximumRows).ToList();
}
return users;
}
public int GetUserCount()
{
}
更新了C#做:
public IEnumerable<MembershipUser> GetUsers(string alpha, string searchBy, string searchText, int startRowIndex, int maximumRows)
{
var users = Membership.GetAllUsers().Cast<MembershipUser>();
if (alpha != null && string.IsNullOrEmpty(searchBy))
{
users = users
.Where(x => x.UserName.StartsWith(alpha, StringComparison.OrdinalIgnoreCase))
.Skip(maximumRows * startRowIndex)
.Take(maximumRows).ToList();
}
else if (searchBy == "User Name" && !string.IsNullOrEmpty(searchText))
{
users = users.Where(x => x.UserName == searchText)
.Skip(maximumRows * startRowIndex)
.Take(maximumRows).ToList();
}
else if (searchBy == "Email" && !string.IsNullOrEmpty(searchText))
{
users = users.Where(x => x.Email == searchText)
.Skip(maximumRows * startRowIndex)
.Take(maximumRows).ToList();
}
else
{
users = null;
}
return users;
}
*修復這個問題*在這個社區通常是不好的話。我們可以幫助你解決你的問題,但是我們會爲你解決任何問題的期望是不好的。 – 2012-02-16 02:50:12
@ M.Babcock對不起,我下次不會說,但我真正的問題是,當我需要做一個計數,我如何確定選擇哪個計數。 – ONYX 2012-02-16 02:51:49
這聽起來像是一個商業規則,你應該問你的設計師。我們不知道您的數據,所以我們只能推測。 – 2012-02-16 02:55:06