Javascript 从代码隐藏调用业务逻辑层

Javascript 从代码隐藏调用业务逻辑层,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

我有一个页面,我想将值传递给一个服务(已设置)并检索jobid。由于不熟悉asp.net/javascript/ajax等,我不再问以前的新手问题,我只想检查一下我的方法是否正确。下面的代码可以工作,但这是做事情的最佳方式吗?(这只是一个显示逻辑的测试页面)

非常感谢您的建议

test.aspx

<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返回的任何数据都可以在浏览器中看到,因此,如果它是机密的,您必须更改此方法,如果它不是机密的,则您可以使用此方法,