现我与装载电网的问题取决于传递到电网参数。 我正在开发一个搜索页面中,我有一个文本框和按钮。 我将显示按钮回吐文本框中输入文本作为参数的单击事件的网格。
我的文本框和按钮:
<divid="SearchSection">
<input type="text"id="txtSearch"class="k-textbox"/>
<buttonid="btnSearch" class="k-button"style="width:150px">Search</button>
</div>
我的网格:
<divid="ADUserSection">
List of users in Active directory:
@(Html.Kendo().Grid<ADUser>()
.Name("kADUser")
.Columns(columns =>
{
columns.Bound(p => p.UserLoginName);
columns.Bound(p => p.UserDisplayName);
})
.AutoBind(false)
.DataSource(ds => {
ds.Ajax()
.Read(read =>
{
read.Action("GetADUser", "ManageUsers").Data("AdditionalData");
});
})
)
</div>
我的JavaScript在我传递了额外的数据:
function AdditionalData() {
debugger;
var text = $("#txtSearch").val().trim();
return{ searchText: text };
*****The Problem happens here: The searchText never get assigned value intext ****
}
我的剧本在我打电话的单击事件并捕捉文本框中输入:
<script>
$(document).ready(function () {
$("#ADUserSection").fadeIn();
$("#btnSearch").click(function () {
debugger;
var text =AdditionalData().toString();
var grid = $("#kADUser").data("kendoGrid");
grid.dataSource.read({searchText:text});
});
});
</script>
我的控制器方法:
publicJsonResult GetADUser([DataSourceRequest] DataSourceRequest request, string searchText) {
viewmodel.searchedADUser = model.GetUserFromAD(searchText);
return Json(viewmodel.searchedADUser.ToList().ToDataSourceResult (request), JsonRequestBehavior.AllowGet);
}
模型:
public class ADUser
{
public string UserLoginName { get; set; }
public string UserDisplayName { get; set; }
}
public List<ADUser> GetUserFromAD(string name) //Get Network Users (AD)
{
var searchUser = newList<ADUser>();
var domainContext = newPrincipalContext(ContextType.Domain);
var groupPrincipal = GroupPrincipal.FindByIdentity(domainContext, IdentityType.SamAccountName, "Domain Users");
UserPrincipal user = newUserPrincipal(domainContext);
if (!String.IsNullOrEmpty(name))
{
user.Enabled = true;
user.Name = name + "*";
PrincipalSearcher pS = newPrincipalSearcher();
pS.QueryFilter = user;
PrincipalSearchResult<Principal> results = pS.FindAll();
foreach (var item in results)
{
var users = new FMSystemWeb.Models.ADUser();
users.UserLoginName = item.SamAccountName;
users.UserDisplayName = item.DisplayName;
searchUser.Add(users);
}
}
return searchUser;
}
我的视图模型:
public class ViewModelManageUsers
{
public List<UserRoleList> assignedUserRole { get; set; }
public List<ADUser> searchedADUser { get; set; }
public List<AvailableRoles> availableRoles { get; set; }
}
请帮我寻找到的问题。 我走过这也解释了这样的场景,并曾试图实现各种职位,但没有运气了。
JavaScript函数
function AdditionalData() {
never gets the data assigned to my parameter
searchText
因此,我的控制器的方法总是得到的参数空和电网不显示任何结果。