带有ASP.NET MVC5 onSelect功能的Kendo Ui下拉列表

时间:2017-01-12 15:33:48

标签: asp.net-mvc drop-down-menu kendo-ui

我正在使用带有ASP.NET MVC5的Kendo UI Dropdownlist。 我想在选择上写一个cookie:

public class AuthService extends Service {
    private String account;
    private String pwd;
    private String url;
    private String webView;
    private boolean isProcess = false;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        url = (String) intent.getExtras().get("url");
        account = (String) intent.getExtras().get("account");
        pwd = (String) intent.getExtras().get("pwd");
        webView = new WebView(this);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.setWebViewClient(new WebViewClient() {

            @Override
            public void onPageFinished(WebView view, String url) {
                //todo Do whatever u want to do.
                closeServiceAndProcess();
            }

            @Override
            public void onReceivedHttpAuthRequest(final WebView view, final HttpAuthHandler handler, final String host, String realm) {
                if (!isProcess) {
                    isProcess = true;
                    handler.proceed(account, pwd);
                } else {
                    isProcess = false;
                    closeServiceAndProcess();
                }
            }
        });
        webView.loadUrl(url);

        return Service.START_REDELIVER_INTENT;
    }

    private void closeServiceAndProcess() {
        stopSelf();
        android.os.Process.killProcess(android.os.Process.myPid());
    }
}

所有功能都可以访问并且工作正常。但我得到了:

  

未定义

值而不是Id。 为什么我收到此错误?我该如何解决?

P.S。模型包含Id和Name。

1 个答案:

答案 0 :(得分:2)

获得dataItem后, 是用于填充DropDownList的模型实例。

因此,为了访问Id字段,请使用Id字段而不是值字段(您的模型没有)。

function onSelect(e) {
    if ("sss" in window) {
        debugger;
        var dataItem = this.dataItem(e.item);
        alert(dataItem.Id);
        setCookie(dataItem.Id);
    }
}