Oct 02, 2012, 1:52 PM
[CLOSED] Load data to store of combobox by proxy
Hi,
sample:
I hope requirements are clear enough:) I've make comment in code what I need to do before handler request will go to server.
How can I do this?
Regards,
ViDom
sample:
//control
public delegate void ListSelectParametersEventHandler(Object sender, EventArgs e);
public class ComboboxLoadOnExpand :Ext.Net.ComboBox
{
private Ext.Net.Store store;
public event ListSelectParametersEventHandler Selecting;
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
store = new Ext.Net.Store();
Ext.Net.JsonReader reader = new JsonReader();
reader.Fields.AddRange(new List<RecordField>{new RecordField("Id",RecordFieldType.Int), new RecordField("Name",RecordFieldType.String)});
store.SortInfo.Direction = SortDirection.ASC;
store.SortInfo.Field = "Name";
store.Reader.Add(reader);
reader.IDProperty = "Id";
reader.MessageProperty = "Name";
Ext.Net.HttpProxy proxy = new Ext.Net.HttpProxy();
proxy.Url = "~/HandlerProxy.ashx";
proxy.Method = HttpMethod.POST;
proxy.Timeout = 10000;
store.Proxy.Add(proxy);
store.ID = this.ID + "_Store";
store.AutoLoad = false;
store.RefreshData += new Ext.Net.Store.AjaxRefreshDataEventHandler(store_RefreshData);
this.Store.Add(store);
this.DisplayField = "Name";
this.ValueField = "Id";
}
protected void store_RefreshData(object sender, StoreRefreshDataEventArgs e)
{
Ext.Net.Store store = (Ext.Net.Store) sender;
store.DataBind();
}
}
handler:using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Ext.Net;
namespace Ext1._6Test
{
[Serializable]
class MyClass
{
public int Id { get; set; }
public string Name { get; set; }
public MyClass(int id, string name)
{
Id = id;
Name = name;
}
}
/// <summary>
/// Summary description for HandlerProxy
/// </summary>
public class HandlerProxy : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
List<MyClass> myClasses = new List<MyClass>()
{
new MyClass(1,"first"),
new MyClass(2,"second"),
new MyClass(3,"third")
};
context.Response.Write(JSON.Serialize(myClasses));
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
page:<%@ Page Title="" Language="C#" MasterPageFile="~/Page.Master" AutoEventWireup="true" CodeBehind="Start.aspx.cs" Inherits="Ext1._6Test.Start" %>
<script runat="server">
protected void myCombo_Selecting(object sender, EventArgs e)
{
//here I want to add some parameters and then run handler
}
</script>
<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagPrefix="ext" %>
<%@ Register TagPrefix="uc" Namespace="Ext1._6Test.controls" Assembly="Ext1.6Test" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<ext:Container runat="server" Layout="Fit">
<Items>
<ext:Button runat="server" Text="btn Start Page"></ext:Button>
<uc:ComboboxLoadOnExpand ID="myCombo" runat="server" Selecting="myCombo_Selecting"/>
</Items>
</ext:Container>
</asp:Content>
What I need to do is load data by proxy. I've made that already but I need load some of extra parameters before make this request on handler side.I hope requirements are clear enough:) I've make comment in code what I need to do before handler request will go to server.
How can I do this?
Regards,
ViDom
Last edited by Daniil; Oct 08, 2012 at 8:36 AM.
Reason: [CLOSED]