Ajax 使用ByRef over ByVal访问数据库

Ajax 使用ByRef over ByVal访问数据库,ajax,vb.net,byref,byval,Ajax,Vb.net,Byref,Byval,我正在使用ajax调用访问数据库以加载下拉列表。现在,这是我们在我工作的地方将要做的很多事情,因为有人已经知道了怎么做 我的主管让我尝试使用ajax调用,这样我就可以轻松地将其用于多个页面,而无需为每个新页面重新编写代码。我的代码: 控制器 JQuery 现在,我不知道VB.NET。事实上,一位同事帮我处理了控制器,他来这里不是为了进一步协助这件事 我的主管提出的问题是,我们如何才能做到这一点 如果controller类中的ByVal更改为ByRef,那么我们是否可以在ajax调用中为data:

我正在使用ajax调用访问数据库以加载下拉列表。现在,这是我们在我工作的地方将要做的很多事情,因为有人已经知道了怎么做

我的主管让我尝试使用ajax调用,这样我就可以轻松地将其用于多个页面,而无需为每个新页面重新编写代码。我的代码:

控制器

JQuery

现在,我不知道VB.NET。事实上,一位同事帮我处理了控制器,他来这里不是为了进一步协助这件事

我的主管提出的问题是,我们如何才能做到这一点

如果controller类中的ByVal更改为ByRef,那么我们是否可以在ajax调用中为data:line传递一些内容,以便重用而不是重写这些代码


任何帮助或澄清都将不胜感激。

当您传递ByVal时,您将传递一个变量的副本。当您通过引用传递ByRef时,您只传递对象引用,传递的是精确的原始变量

Dim exampleVariable As String = "hello"

MyMethodOne(exampleVariable) 'Call methodOne (We pass a COPY of exampleVariable )


Private Sub MyMethodOne(ByVal x As String)
      x = "Foo"
      Console.WriteLine(x) 'prints Foo
      Console.WriteLine(exampleVariable) 'prints hello
End Sub

MyMethodTwo(exampleVariable) 'Call method (we pass the REFERENCE to exampleVariable )
 Private Sub MyMethodTwo(ByRef x As String)
      x = "Foo"
      Console.WriteLine(x) 'prints Foo
      Console.WriteLine(exampleVariable) 'prints Foo
End Sub

请注意,我正在阅读有关ByRef和ByVal及其差异的内容,对我来说,这一点都不重要。所以,即使只是以我理解的方式解释差异也足以回答我的问题。这一切对我来说都开始有意义了。。。因此,从我目前所看到的情况来看,在我的控制器中将ByVal更改为ByRef不会成功地帮助实现ajax调用的通用性,对吗?对。事实上,我们很少在VB.NET中使用ByRef。默认值是ByVal,ByRef是为了兼容。我可以放心地说,我从未在生产中使用过ByRef,但我可以看到它的用途。我知道。。。这对我来说更清楚了。看来我最初对他的回答是正确的。谢谢你帮我做这件事。
function ajaxSuccess(record) {
    var drop2 = $('#Vehicle_BodyStyle_value');
    drop2.get(0).options.length = 0;
    drop2.get(0).options[0] = new Option("Please Select One", "-1");
    $.each(record, function (index, item) {
        drop2.get(0).options[drop2.get(0).options.length] = new Option(item.BodyStyle1, index);
    });
}

function ajaxError() {
    $('#Vehicle_BodyStyle_value').get(0).options.length = 0;
    $('#Vehicle_BodyStyle_value').get(0).options[0] = new Option("Error!", "-1");
    alert("Failed to load styles");
}

$('#Vehicle_KovId_value').change(function () {
    var kovID = $(this).val();
    var drop2 = $('#Vehicle_BodyStyle_value');
    if (kovID != null && kovID != '') {
        drop2.get(0).options.length = 0;
        drop2.get(0).options[0] = new Option('Please Select One', '-1');
        $.ajax({
            type: "GET",
            url: '/Ajax/Index',
            async: false,
            data: { KovID: kovID },
            contentType: "application/json; charset=utf-8",
            success: ajaxSuccess,
            error: ajaxError
        });
    }
});
Dim exampleVariable As String = "hello"

MyMethodOne(exampleVariable) 'Call methodOne (We pass a COPY of exampleVariable )


Private Sub MyMethodOne(ByVal x As String)
      x = "Foo"
      Console.WriteLine(x) 'prints Foo
      Console.WriteLine(exampleVariable) 'prints hello
End Sub

MyMethodTwo(exampleVariable) 'Call method (we pass the REFERENCE to exampleVariable )
 Private Sub MyMethodTwo(ByRef x As String)
      x = "Foo"
      Console.WriteLine(x) 'prints Foo
      Console.WriteLine(exampleVariable) 'prints Foo
End Sub