私の姓と名を尋ねる私のウェブページのフォームがあります。ユーザーがこのフォームを送信すると、私のコントローラー内の機能にデータを渡して、そのActive Directory内の対応するユーザーを見つけるために使用します。私はその後、私のページにその情報を表示すると、Javascript関数に一致する電子メールアドレスを返したいと思います。これを行うのは正しい方法ですか?はいの場合は、コントローラでフォーム入力を受け入れ、クライアント側のJavaScriptにデータを返す関数をどのように構築しますか?私は私のコントローラで、これまで持って何フォームからマイコンにデータを渡してから、クライアントサイドのJavaScriptに戻すには?
:
public SearchResult[] searchAD(String fname, String lname)
{
Func<System.DirectoryServices.ActiveDirectory.Domain> domain = System.DirectoryServices.ActiveDirectory.Domain.GetCurrentDomain;
System.DirectoryServices.DirectoryEntry root = new DirectoryEntry("LDAP://"+domain);
DirectorySearcher searcher = new DirectorySearcher();
searcher.SearchRoot = root;
searcher.SearchScope = SearchScope.Subtree;
searcher.Filter = string.Format("(&(objectCategory=person)(objectClass=user)(givenName={0})(sn={1}))", fname, lname);
SearchResult[] results = new SearchResult['a'];
searcher.FindAll().CopyTo(results, 0);
return results;
}
そして、私形式:
@using (Html.BeginForm("searchAD", "AD", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(m => m.firstName, "First Name", htmlAttributes: new { @class = "control-label" })
<div>
@Html.EditorFor(model => model.firstName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.firstName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(m => m.lastName, "Last Name", htmlAttributes: new { @class = "control-label" })
<div>
@Html.EditorFor(model => model.lastName, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.lastName, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div>
<input type="submit" value="Search" class="btn" />
</div>
</div>
}
Ajax.BeginFormを使用してデータを返すことができます –
これまでのところJavaScriptを投稿できますか? – DDelgro
コントローラからjsに変数を渡す方法がわからないので、これまでのところjsはありません。 –