Jan 23, 2018, 1:17 PM
Different behavior when extended control is inside Panel
I would like to extend TextField control. Here is a basic example:
Also, myTextField1 is not rendered properly inside panel - I can add screenshot, but control is just not visible at all.
How can I fix that?
I'm using Ext.NET 2.5.3.1, .NET 4.7.1, VS 2017, Windows 7.
using Ext.Net;
namespace ExtNetTest
{
public class MyTextField : TextField
{
public override string InstanceOf
{
get { return "ExtNetTest.MyTextField"; }
}
public override string XType
{
get { return "mytextfield"; }
}
}
}
When I use this control on my page, I have a different behavior depends when the control is inside Items in Panel. Here is an example:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExtNetTest.aspx.cs" Inherits="ExtNetTest.ExtNetTest" %>
<%@ Register TagPrefix="cc" Namespace="ExtNetTest" Assembly="ExtNetTest" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Ext.Net Test</title>
<script type="text/javascript">
Ext.define('ExtNetTest.MyTextField', {
extend: 'Ext.form.field.Text',
alias: 'mytextfield'
});
</script>
<script runat="server">
protected void Submit_Click(object sender, DirectEventArgs e)
{
X.Msg.Show(new MessageBoxConfig()
{
Title = "Info",
Message = $"1: {myTextField1.Text}; 2: {myTextField2.Text}"
});
}
</script>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager runat="server" />
<ext:Panel runat="server">
<Items>
<cc:MyTextField runat="server" ID="myTextField1" />
</Items>
</ext:Panel>
<cc:MyTextField runat="server" ID="myTextField2" />
<ext:Button runat="server" Text="Submit">
<DirectEvents>
<Click OnEvent="Submit_Click" />
</DirectEvents>
</ext:Button>
</form>
</body>
</html>
When I click Submit I have something like this posted to server:__VIEWSTATEGENERATOR:625FECB0
myTextField1_SM:
myTextField1_CheckNodes:
myTextField2:
__EVENTTARGET:ctl02
__EVENTARGUMENT:ctl07|event|Click
So, my question is, why there is myTextField1_SM and myTextField1_CheckNodes in post data?Also, myTextField1 is not rendered properly inside panel - I can add screenshot, but control is just not visible at all.
How can I fix that?
I'm using Ext.NET 2.5.3.1, .NET 4.7.1, VS 2017, Windows 7.