Why, when I use Material as the base for a theme - do I only have 2 options? Nothing under primitives - so I can't (for example) give RadMenu a background of other than white.
Am I doing something wrong?
Hi, I have a simple ASPX page with a RadComboBox. I have noticed that the "ClientState" form data doesn't get added to the request when the form submits unless I have opened the combobox and made a selection. Is there any way to get ClientState to populate without making the user select one of the list items--say a default option?
<!DOCTYPE html>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
>Test RadComboBox</
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
action
=
"TelerikTest.aspx"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
>
<
Scripts
>
<
asp:scriptreference
assembly
=
"Telerik.Web.UI"
name
=
"Telerik.Web.UI.Common.Core.js"
></
asp:scriptreference
>
<
asp:scriptreference
assembly
=
"Telerik.Web.UI"
name
=
"Telerik.Web.UI.Common.jQuery.js"
></
asp:scriptreference
>
<
asp:scriptreference
assembly
=
"Telerik.Web.UI"
name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
></
asp:scriptreference
>
</
Scripts
>
</
telerik:RadScriptManager
>
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
>
<
Items
>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"RadComboBoxItem1"
Value
=
"RadComboBoxItem1"
/>
<
telerik:RadComboBoxItem
runat
=
"server"
Text
=
"RadComboBoxItem2"
Value
=
"RadComboBoxItem2"
/>
</
Items
>
</
telerik:RadComboBox
>
<
input
id
=
"Button1"
type
=
"submit"
value
=
"submit"
/>
</
form
>
</
body
>
</
html
>
Dear Telerik Team,
We would like to use rad notification session timeout feature in my code but we have different project scenario.
We have master page in project but Form tag is inside content page so we are not able to add notification control in master page.
We don't want to add rad notification on each page.
We have created a dynamic control on page load but getting error on continue session button.
Master Page ASPX
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="SampleApplicationSession.Site1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<div class="clockSession">
<div class="contSession">
<div class="sesseionExpire">
Your Session will expire in minutes</div>
<div class="showNotification">
Notification will be shown in:</div>
<div class="timeRemain">
<span class="timeSeconds"><span id="mainLbl">60 </span></span>seconds</div>
</div>
</div>
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</body>
</html>
Master page CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace SampleApplicationSession
{
public partial class Site1 : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
}
WebForm1.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace SampleApplicationSession
{
public partial class WebForm1 :BasePage
{
protected void Page_Load(object sender, EventArgs e)
{
Session["Userid"] = "Test";
}
}
}
WebForm ASPX
<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="SampleApplicationSession.WebForm1" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<form id="GlmasterViewForm" runat="server">
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Assembly="Telerik.Web.UI"
Name="Telerik.Web.UI.Common.Core.js">
</asp:ScriptReference>
<asp:ScriptReference Assembly="Telerik.Web.UI"
Name="Telerik.Web.UI.Common.jQuery.js">
</asp:ScriptReference>
<asp:ScriptReference Assembly="Telerik.Web.UI"
Name="Telerik.Web.UI.Common.jQueryInclude.js">
</asp:ScriptReference>
</Scripts>
</telerik:RadScriptManager>
</form>
</asp:Content>
BaseFile
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Telerik.Web.UI;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
namespace SampleApplicationSession
{
public class BasePage : System.Web.UI.Page
{
RadNotification SessionTimeOutNotification = new RadNotification();
protected void OnCallbackUpdate(object sender, RadNotificationEventArgs e)
{
}
protected override void OnLoad(EventArgs e)
{
try
{
if (!Page.IsPostBack)
{
SessionTimeOutNotification.ContentContainer.CssClass = "";
SessionTimeOutNotification.ID = "TestRad";
SessionTimeOutNotification.RenderMode = RenderMode.Lightweight;
//SessionTimeOutNotification.Position = NotificationPosition.TopCenter;
//rad.Width = 190;
SessionTimeOutNotification.Title = "Continue Your Session";
SessionTimeOutNotification.EnableRoundedCorners = true;
SessionTimeOutNotification.ShowCloseButton = false;
SessionTimeOutNotification.KeepOnMouseOver = false;
SessionTimeOutNotification.LoadContentOn = NotificationLoad.PageLoad;
//SessionTimeOutNotification.AutoCloseDelay = 6000;
//configure the notification to automatically show 1 min before session expiration
SessionTimeOutNotification.ShowInterval = (Session.Timeout - (Session.Timeout - 1)) * 60 * 1000;
SessionTimeOutNotification.AutoCloseDelay = 60000;
//set the redirect url as a value for an easier and faster extraction in on the client
SessionTimeOutNotification.Value = Page.ResolveClientUrl("SessionExpired.aspx");
MyTemplate1 objTemplate = new MyTemplate1();
SessionTimeOutNotification.ContentTemplate = objTemplate;
SessionTimeOutNotification.OnClientShowing = "notification_showing";
SessionTimeOutNotification.OnClientHidden = "notification_hidden";
SessionTimeOutNotification.CallbackUpdate += OnCallbackUpdate;
//SessionTimeOutNotification.CallbackUpdate += new EventHandler(OnCallbackUpdate);
this.Form.Controls.Add(SessionTimeOutNotification);
if (!ClientScript.IsStartupScriptRegistered("key1"))
{
ClientScript.RegisterStartupScript(GetType(), "key1", @"<script type=""text/javascript"" src=""../Resources/js/SessionExpired.js""></script>");
}
if (!ClientScript.IsStartupScriptRegistered("SessionControlScript"))
{
String cstext1 = "<script type=\"text/javascript\">" +
"serverIDs({ notificationID: 'ctl00_ContentPlaceHolder1_TestRad' });</" + "script>";
ClientScript.RegisterStartupScript(GetType(), "SessionControlScript", cstext1);
}
}
}
catch(Exception ex )
{}
}
/// <summary>
/// This is the base class for the web pages.
/// We need to implement the common functionalities in this
/// class going forward.
/// </summary>
public class MyTemplate1 : ITemplate
{
protected RadButton btnMsg;
string colnames;
public MyTemplate1()
{
}
public void InstantiateIn(System.Web.UI.Control container)
{
btnMsg = new RadButton();
btnMsg.ID = "btnMsg";
btnMsg.Text = "Continue Your Session";
btnMsg.OnClientClicked = "ContinueSession";
btnMsg.AutoPostBack = false;
//boolValue.DataBinding += new EventHandler(boolValue_DataBinding);
// boolValue.Enabled = false;
HtmlGenericControl DivinfoIcon = new HtmlGenericControl("DIV");
DivinfoIcon.Attributes.Add("class", "infoIcon");
HtmlGenericControl DivinotificationContent = new HtmlGenericControl("DIV");
DivinotificationContent.Attributes.Add("class", "notificationContent");
HtmlGenericControl Div1 = new HtmlGenericControl("DIV");
Label lblText = new Label();
lblText.Text = "Time remaining: ";
lblText.ID = "lblTime";
HtmlGenericControl tiemlbl = new HtmlGenericControl("SPAN");
tiemlbl.ID = "timeLbl";
tiemlbl.InnerHtml = "60";
tiemlbl.Attributes.Add("class", "timeLbl");
Div1.Controls.AddAt(0, lblText);
Div1.Controls.AddAt(1, tiemlbl);
DivinotificationContent.Controls.AddAt(0, Div1);
DivinotificationContent.Controls.AddAt(1, btnMsg);
DivinfoIcon.Controls.Add(DivinotificationContent);
container.Controls.Add(DivinfoIcon);
}
}
}
}
i am getting attached error on this. Is there any better way to implement it ?
Is there a way to specify a property from the combo box setup with check items to be passed to a control parameter property?
<asp:ControlParameter ControlID="cmbProviderSort" DbType="Int32" ConvertEmptyStringToNull="true" DefaultValue="-1" PropertyName="SelectedValue" Name="a" />
PropertyName is set as SelectedValue which will only work with a non checkbox combo box. What is the best approach to be able to send in all checked items into the asp:ControlParameter.
I have to use the DataSource setup in this way and cannot do it in the code behind. Thanks
I have a page with a RadGrid. Several functions for the grid are in a RadMenu. Several of the functions trigger a JavaScript function to open dialogs, windows, and whatnot, while another menu item does a postback to export the contents of the grid to a .csv file. Everything works fine, with the exception of the export. The menu works properly up to the point where the postback completes and the .csv begins downloading. At that point, the menu re-opens with the Export item highlighted. Is there any way to keep the menu from re-opening after the export is complete?
Here's my menu:
<
telerik:RadMenu
ID
=
"RadMenu1"
runat
=
"server"
ExpandDelay
=
"0"
CollapseDelay
=
"0"
ExpandAnimation-Type
=
"None"
CollapseAnimation-Type
=
"None"
ShowToggleHandle
=
"true"
OnItemClick
=
"RadMenu1_ItemClick"
OnClientItemClicking
=
"OnClientItemClicking"
ClickToOpen
=
"true"
Skin
=
"Windows7"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Menu"
PostBack
=
"false"
>
<
Items
>
<
telerik:RadMenuItem
Text
=
"Save..."
/>
<
telerik:RadMenuItem
Text
=
"Save As..."
Enabled
=
"false"
Visible
=
"false"
/>
<
telerik:RadMenuItem
Text
=
"Delete"
Enabled
=
"false"
/>
<
telerik:RadMenuItem
Text
=
"|"
runat
=
"server"
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Text
=
"Schedule..."
/>
<
telerik:RadMenuItem
Text
=
"Export"
/>
<
telerik:RadMenuItem
Text
=
"Print"
/>
<
telerik:RadMenuItem
Text
=
"|"
runat
=
"server"
IsSeparator
=
"True"
/>
<
telerik:RadMenuItem
Text
=
"Reset Grid"
/>
</
Items
>
</
telerik:RadMenuItem
>
</
Items
>
</
telerik:RadMenu
>
Here's the JavaScript that sits behind the menu:
function
OnClientItemClicking(sender , args) {
var
itemText = args.get_item().get_text();
switch
(itemText) {
case
"Save..."
:
args.set_cancel(
true
);
// Cancel postback
window.radopen(
"SaveQueryForm.aspx?KEY=<%= _queryKey %>&user=<%= _username %>&saveKey=<%= _saveKey %>"
,
"RadWindow1"
);
break
;
case
"Save As..."
:
args.set_cancel(
true
);
// Cancel postback
window.radopen(
"SaveQueryForm.aspx?KEY=<%= _queryKey %>&user=<%= _username %>"
,
"RadWindow1"
);
break
;
case
"Delete"
:
args.set_cancel(
true
);
// Cancel postback
window.radopen(
"DeleteQueryForm.aspx?savekey=<%= _saveKey %>&&user=<%= _username %>"
,
"RadWindow2"
);
break
;
case
"Schedule..."
:
args.set_cancel(
true
);
// Cancel postback
window.radopen(
"ScheduleForm.aspx?KEY=<%= _saveKey %>&user=<%= _username %>"
,
"RadWindow3"
);
break
;
case
"Print"
:
args.set_cancel(
true
);
// Cancel postback
openForm();
break
;
}
// end switch
if
(itemText !=
"Menu"
) {
closeMenu();
}
// end if
}
// end OnClientItemClicking
function
closeMenu() {
var
menu = $find(
"<%=RadMenu1.ClientID %>"
);
var
item = menu.findItemByText(
"Menu"
);
item.close();
setTimeout(
function
() {
menu.close();
}, 0);
}
// end closeMenu
The codebehind that handles the export:
protected
void
RadMenu1_ItemClick(
object
sender, RadMenuEventArgs e) {
switch
(e.Item.Text) {
case
"Export"
:
exportGridToCSV();
break
;
}
// end switch
}
// end RadMenu1_ItemClick
protected
void
exportGridToCSV() {
RadGrid1.ExportSettings.ExportOnlyData =
false
;
RadGrid1.ExportSettings.IgnorePaging =
true
;
RadGrid1.ExportSettings.OpenInNewWindow =
true
;
RadGrid1.ExportSettings.FileName = (
"Student Data Export - "
+ DateTime.Now.ToShortDateString()).Replace(
' '
,
'_'
);
RadGrid1.MasterTableView.ExportToCSV();
}
// end exportGridToCSV
Any ideas on what I can do to keep the menu from re-opening after the export?