剣道グリッドを使用してコントローラーから収集されたメールのリストを表示しました。ユーザーがグリッド行をクリックすると、剣道エディターにメール本文が表示されます。エディターでメールを編集して、データベースに保存します。 Webサービスを使用します。しかし、サーバー側でc#コードを操作するのは、それほど簡単ではありません。Javascriptコードが多すぎないようにします。現在のコードはそのようなものです
__ _ __ index.aspx
<%: Html.Kendo().Grid(Model.mailList)
.Name("Grid")
.HtmlAttributes(new { style = "height:auto;font-size: medium;" })
.Columns(columns =>
{
columns.Bound(p => p.MailId).Width(200);
columns.Bound(p => p.From.Value).Width(200).Title("Sender");
columns.Bound(p => p.Subject).Width(200);
//columns.command(commands =>
//{
// commands.destroy();
//});
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.Events(events => events.Change("onChange"))
.DataSource(dataSource => dataSource
.Ajax()
.ServerOperation(false)
//.Destroy(destroy => destroy.Action("Index","Home"))
.Model(model =>
{
//The unique identifier (primary key) of the model is the ProductID property
model.Id(p => p.MailId);
// Declare a model field and optionally specify its default value (used when a new model instance is created)
model.Field(p => p.Subject).DefaultValue("N/A");
// Declare a model field and make it readonly
model.Field(p => p.Sender).Editable(false);
})
.PageSize(5)
)
.Selectable()
%>
function sendMailToController() {
$.ajax({
url: "/Home/SendMail/",
data: {
emailID: mailID,
emailBody: mailBody
},
cache: false,
type: "GET",
timeout: 10000,
dataType: "json",
success: function (result) {
if (result.Success) {
alert("Operation Completed");
} else {
alert("Operation Failed");
}
}
});
}
__ ____コントローラーコード
public ActionResult Index()
{
MailModel mailModelobj = new MailModel();
mailModelobj.GetMailList();
return View(mailModelobj);
}
public JsonResult SendMail(Guid emailID, string emailBody)
{
MailModel mailModelObj = new MailModel();
mailModelObj.body = emailBody;
mailModelObj.mailID = emailID;
var Result = mailModelObj.SendMail(mailModelObj);
return Json(new { Success = true, Result }, JsonRequestBehavior.AllowGet);
}
問題は、エディターからの長い電子メール本文では機能しないことです。私たちは上記のコミュニケーション方法が好きではありません。
JavascriptではあまりC#ドメインになりたくありません。
私の質問は次のとおりです。
剣道UIコントロールからサーバー側と対話するためのベストプラクティスは何ですか(コントローラーから値を取得し、コントローラーを介して値を設定しますか?
メール本文をサーバーに送信するための送信ボタンなど、簡単な例を挙げて説明してください。
剣道UIでテスト駆動開発を行うことは可能ですか?どのようにまたは例が非常に役立ちます。
前もって感謝します..