Javascript 从代码隐藏调用业务逻辑层
我有一个页面,我想将值传递给一个服务(已设置)并检索jobid。由于不熟悉asp.net/javascript/ajax等,我不再问以前的新手问题,我只想检查一下我的方法是否正确。下面的代码可以工作,但这是做事情的最佳方式吗?(这只是一个显示逻辑的测试页面) 非常感谢您的建议 test.aspxJavascript 从代码隐藏调用业务逻辑层,javascript,c#,asp.net,ajax,Javascript,C#,Asp.net,Ajax,我有一个页面,我想将值传递给一个服务(已设置)并检索jobid。由于不熟悉asp.net/javascript/ajax等,我不再问以前的新手问题,我只想检查一下我的方法是否正确。下面的代码可以工作,但这是做事情的最佳方式吗?(这只是一个显示逻辑的测试页面) 非常感谢您的建议 test.aspx <head runat="server"> <title></title> <script src="https://ajax.googleap
<head runat="server">
<title></title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
function submitJob() {
var propID = $get("textBox1").value;
var dateReceived = $get("textBox2").value;
var csJobTypeID = $get("textBox3").value;
var notes = $get("textBox4").value;
PageMethods.SubmitForm(propID, dateReceived, csJobTypeID, notes, fnsuccesscallback, fnerrorcallback);
}
function fnsuccesscallback(data) {
$get("textBox5").value = data;
}
function fnerrorcallback(result) {
alert(result.statusText);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager" runat="server" EnablePageMethods="true" />
<div>
<asp:TextBox id="textBox1" runat="server">D2BAC8B9-DB94-E411-AE6D-00505696BEC2</asp:TextBox>
<asp:TextBox id="textBox2" runat="server">2015-04-20T12:00:00</asp:TextBox>
<asp:TextBox id="textBox3" runat="server">{4F1B4C1C-7179-E411-A36F-005056966B32}</asp:TextBox>
<asp:TextBox id="textBox4" runat="server">These are the notes</asp:TextBox>
<br />
<br />
<asp:TextBox ID="textBox5" runat="server" name="textBox5" ></asp:TextBox>
<br />
<br />
<button id="btnTest" type="button" onclick="submitJob();">Test</button>
</div>
</form>
</body>
NewJobBLL.cs
public partial class test : System.Web.UI.Page
{
[WebMethod]
public static string SubmitForm(Guid propID, DateTime dateReceived, string csJobType, string notes)
{
Guid newJobID = NewJobBLL.NewJobID(propID, dateReceived, csJobType, notes);
return newJobID.ToString();
}
}
}
public class NewJobBLL
{
public static Guid NewJobID(Guid propID, DateTime dateReceived, string csJobTypeID, string notes)
{
Job job = new Job() {
LocationId = propID,
DateReceived = dateReceived,
ContractSpecificJobtypeID = csJobTypeID,
Description = notes
};
CrmServiceHelper.SetUp(Utility.Enums.System.SystemEnvironment.Staging);
ServiceResponseData<Job> response = CrmServiceHelper.JobService.InsertJob(job);
if (response.CallSuccess)
{
JobID = response.Data.JobCrmID;
}
return JobID;
}
public static Guid JobID
{
get;
set;
}
}
公共类NewJobBLL
{
公共静态Guid NewJobID(Guid propID、DateTime dateReceived、字符串csJobTypeID、字符串注释)
{
作业=新作业(){
LocationId=propID,
DateReceived=DateReceived,
ContractSpecificJobtypeID=csJobTypeID,
Description=注释
};
设置(Utility.Enums.System.SystemEnvironment.Staging);
ServiceResponseData response=CrmServiceHelper.JobService.InsertJob(作业);
if(response.CallSuccess)
{
JobID=response.Data.JobCrmID;
}
返回JobID;
}
公共静态Guid作业ID
{
得到;
设置
}
}
这个作业ID是不是某种秘密?我想说,第一次学校项目没关系,但如果你想用更好的方式来做,我建议你研究一下存储库模式和DecependencyInjection@MairajAhmad ? 我不明白你的意思sorry@JunePaik感谢June,我将调查thoseI,我的意思是,通过使用ajax的webmethod返回的任何数据都可以在浏览器中看到,因此,如果它是机密的,您必须更改此方法,如果它不是机密的,则您可以使用此方法,