gpt4 book ai didi

javascript - 从 javascript 调用 .cs 中的方法

转载 作者:行者123 更新时间:2023-12-03 09:56:48 28 4
gpt4 key购买 nike

我遇到了以下问题:我想创建一个包含表单(3个文本框和一个按钮)的模板。在这个模板内,通过javascript,必须调用一个位于.cs。

所以...这是我在 EmployeeBL.cs 中的 CRUD 函数之一:

[WebMethod]

public static bool CreateEmployee(int Id, string Nome, string Cognome)
{ ...}

这里是我的 Employee.tpl 女巫应该调用 CreateEmployee():

<div class="container" style="max-width: 400px">

<form class="form-horizontal" method="post" id="Form"
data-bv-feedbackicons-valid="glyphicon glyphicon-ok"
data-bv-feedbackicons-invalid="glyphicon glyphicon-remove"
data-bv-feedbackicons-validating="glyphicon glyphicon-refresh"
data-bv-submitbuttons='button[type="submit"]'>
<div class="form-group">
{Message}
</div>

<div class="form-group">
<input type="text" class="form-control" id="Id" placeholder="User name" value="{Model.Id}"
data-bv-notempty-message ="{UserNameNotEmptyMessage}" />
</div>
<div class="form-group">
<input type="text" class="form-control" id="FirstName" placeholder="First Name" value="{Model.FirstName}"
data-bv-notempty-message="{FirstNameNotEmptyMessage}" />
</div>
<div class="form-group">
<input type="text" id="LastName" placeholder="Last Name" value="{Model.LastName}" />
</div>


<div class="form-group">
<button type="submit" class="btn btn-default" value="Submit" id="myButton" >Create Employee</button>
</div>

现在总是在这个 tpl 中放置一个如下所示的脚本:

<script type="text/javascript">
$(document).ready(function ()
{
$("#Form").bootstrapValidator();

$("#myButton").click(function(){

var Id=foo($('#Id').val());
var FirstName= foo($('#FirstName').val());
var LastName=foo($('#LastName').val());



});

});

总结:我需要创建一个员工(带有 ID、姓氏、名字),通过单击按钮在我的数据库上写入所以我的问题是如何设置 EmployeeBL.cs 的可见命名空间以及如何在脚本内调用它的方法 CreateEmployee() (单击按钮)?提前谢谢!!

最佳答案

@Yuri:首先,我非常需要帮助。同时我发现最好避免这种方式。这是我的错,因为我没有告诉你我正在使用 Owin 和 MVC 模式的 ACSPNET。所以我创建了 MVC 文件和业务逻辑文件。在 Controller 中的 Invoke() 函数下,我必须找到一种方法来调用 EmployeeBL.CreateEmployee() 并同时返回一个如下所示的模板:

public class EmployeeController : Controller<EmployeeModel>
{
public override ControllerResponse Invoke()
{
var claims = new List<Claim>{

new Claim(ClaimTypes.Name,Model.Id.ToString()),
new Claim(ClaimTypes.Name,Model.Name),
new Claim(ClaimTypes.Name,Model.Surname)

};

return newTpl(GetView<EmployeeView().Get(Model,Html.MessageBox.Show(StringTable.EmployeeModel)) , StringTable.PageTitleCreateEmployee);
}
}

其中 Get() 函数的定义如下:

public class EmployeeView : View 
{
public ITemplate Get(EmployeeModel viewModel = null, string message = null)
{
return
TemplateFactory.Load("Employee.tpl")
.Model(viewModel)
.Set().Set("Message", message);
}
}

因此在Employee.tpl中只定义了表单和按钮。

关于javascript - 从 javascript 调用 .cs 中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30709924/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com