将存储在模型中的url传递给jquery var(用于KendoGrid)

时间:2013-12-14 09:37:21

标签: c# jquery asp.net-mvc-4 variables telerik-mvc

我有一个看似荒谬的问题。我正在尝试从我的控制器设置WebApi基本服务URL并将其传递到前端/ jquery以在KendoGrid中使用。我似乎无法将模型中的字符串变量中的URL传递给我的jquery var而不会出现错误,例如:

ReferenceError: invalid assignment left-hand side
var crudServiceBaseUrl = "http://localhost:55607/api/StockSelectorWebApi?" + sea...

如果我UrlEncode它:

SyntaxError: identifier starts immediately after numeric literal
var crudServiceBaseUrl = http%3a%2f%2flocalhost%3a55607%2fapi%2fStockSelectorWeb...

我的查询如下:

    var crudServiceBaseUrl = @Model.CrudBaseServiceUrl;

    var dataSource = new kendo.data.DataSource({
        transport: {
            read: {
                url: crudServiceBaseUrl,
                dataType: "json"
            }
        },
        batch: true,
        pageSize: 20,
        schema: {
            model: {
                id: "WedNo",
                fields: {
                    WedNo: { editable: false, nullable: true, type: "number" },
                    MillNo: { editable: false, nullable: true, type: "string" },
                    Location: { editable: false, nullable: true, type: "string" },
                    Stockholder: { editable: false, nullable: true, type: "string" },
                    Auths: { editable: false, nullable: true, type: "string" }
                }
            }
        }
    });

和我的模特:

model.CrudBaseServiceUrl = Server.UrlEncode("http://localhost:55607/api/StockSelectorWebApi?searchType=Arrival&parameterOne=" + model.Arrival);

编辑:奇怪的是我也尝试了

model.CrudBaseServiceUrl = "'URLHERE'";

model.CrudBaseServiceUrl = "'" + "URLHERE" + "'";

但两种方法都没有效果,但正如下面所指出的那样(在接受的答案中)只是这样做:

model.CrudBaseServiceUrl = "URLHERE";

然后

var crudServiceBaseUrl = '@Model.CrudBaseServiceUrl';

pffttt

1 个答案:

答案 0 :(得分:1)

var crudServiceBaseUrl ='@ Model.CrudBaseServiceUrl'

基本上,如果你在javascript中使用来自服务器的字符串变量,你应该使用它们周围的引号。无需编码或任何东西。