DevExpress MVC 控件使用 01 --- 基本使用方法

本文详细介绍了如何使用 DevExpress Asp.Net MVC 控件,包括 HtmlHelper 扩展方法的使用,客户端 JavaScript 的交互,以及服务端 Callback 的实现方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.介绍

DevExpress Asp.Net MVC 控件使用HtmlHelperExtension.DevExpress方法扩展了HtmlHelper类。

DevExpress()方法返回一个扩展工厂对象(ExtensionsFactory),这个工厂可以提供了一组方法输出各种控件,如textbox、listbox、gridview等。

ExtensionsFactory方法可以根据提供的参数(扩展名Settings,其基类是SettingsBase)返回一个Html扩展对象(类型是 扩展名Extension),这个Html扩展对象使用GetHtml()方法或Render()方法输出Html代码。

例如,使用ListBox扩展,调用ExtensionsFacotory.ListBox(ListBoxSettings settings)方法,返回一个ListBoxExtension对象。

public ListBoxExtension ListBox(ListBoxSettings settings)
{
    return ExtensionsFactory.CreateExtension<ListBoxExtension, ListBoxSettings>(settings);
}

public ListBoxExtension ListBox(Action<ListBoxSettings> method)
{
    return ExtensionsFactory.CreateExtension<ListBoxExtension, ListBoxSettings>(method);
}

2.基本使用

(1)使用lamd方式定义参数

@{ 
    Html.DevExpress().TextBox(settings =>
    {
        settings.Name = "textBox";
    }).GetHtml();
}

(2)使用SettingBase对象

@{
    var tbSettings = new TextBoxSettings();
    // 扩展名称必须设置. 
    tbSettings.Name = "textBox";
}
@{ 
extension method. 
    Html.DevExpress().TextBox(tbSettings).GetHtml();
}

(3)服务端定义参数

using System.Web.Mvc;

namespace MyProject.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            var s = new DevExpress.Web.Mvc.TextBoxSettings();
            s.Name = "myTextBox";
            ViewBag.MyTextBoxSettings = s;
            return View();    
        }
    }
}
@{ 
    // The extension settings are defined by passing the settings object to the ListBox() extension method. 
    Html.DevExpress().TextBox(ViewBag.MyTextBoxSettings).GetHtml();
}

3.客户端Js访问mvc扩展

扩展名就是客户端的对象id,如定义了一个TextBox name为textbox,js脚本就可以使用textbox这个id访问对象。

<script>
    function setDefaultText() {
        textbox.SetText("This is the default text");
    }
</script>

@Html.DevExpress().TextBox(settings =>
{
    settings.Name = "textbox";
}).GetHtml()
<br />

<input type="button" value="Set default text" name="setText" onclick="setDefaultText()" />

4.在参数设置中定义客户端事件

可以使用ClientSideEvents属性,定义客户端的事件。如

 

<script>
    function onMyButtonClick() {
        alert("Hello world");
    }
</script>
@Html.DevExpress().Button(settings =>
{
    settings.Name = "myButton";
    settings.UseSubmitBehavior = false;
    settings.ClientSideEvents.Click = "onMyButtonClick";
}).GetHtml()

onMyButtonClick函数可以接受两个参数sender 和 event

5.Callbacks回调

要使用Callbacks,需要如下步骤

  1. 在部分视图(Partial View)中定义扩展控件,不可以包含其它html代码
  2. 在Controller中定义回调Action,返回Partial View
  3. 在控件的CallbackRouteValues参数中定义Controller名和Action名称

 

转载于:https://my.oschina.net/fdstudio/blog/870882

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值