MVC :: Define "Variable" In Razor Layout?
Jan 6, 2011How can I define a value in a Razor Layout page to be used in the views that use that layout?
View 2 RepliesHow can I define a value in a Razor Layout page to be used in the views that use that layout?
View 2 RepliesI have a custom CRM package and I need to allow specific users have different layouts on selected screens. I do not want to support multiple software packages so I am thinking that I have some type of interface that allows a user to select what fields they want to input on a given screen. However, what is the easiest way to make this happen? I am thinking that I have some type of XML file that is read that a user can define.
View 1 RepliesExperimenting with MVC 3 Razor -
After attempted to add jquery script tag to _Layout.cshtml as below, the result is empty body tag rendered in content page. I tried this immediately after creating new project to insure I hadn't mucked anything up. This is run on local Win7 dev machine. Any explanation for this or is there a new way to specify script references in the "master" layout page(s)? Omitting @Url.Content had no effect.
<head>
<title>@View.Title</title>
<link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.4.2.js")" type="text/javascript" />
</head>
According to IE8 Developer Tools :
- css file is loaded
- js file ref from master/ layout is loaded
- body tag is empty
- no "default" header and menu visible
Im currently using a method that looks like the following code to add script and css files to the head of the Layout file.
[Code]....
My problem is that this is a static method meaning it persists the list of stylesheets and script files.
I need to do the same thing that this does but without keeping it persistant.
I need the lists to be remade on every request since they change from page to page what the look are on that specific page.
Is it possible to clear the lists on every request prior to adding the scripts that are needed or maybe after they have been rendered out?
Update:
The reason for not using a section, RenderPartial or RenderaActions is to prevent the same stylesheet or script file to be added more than once to the Layout file.
The site im building has a Layout_.cshtml with the basic layout. This in turn is used by a View that loops through a list of items and for each item a RenderAction is called that outputs the specific partial view for that item. These partial views sometimes need to add stylesheets and scripts.
As there can be needed to add many different scripts and stylesheets from different partial views a global list for styles and scripts were the only way i thought this could be done so there is a global place to check if a script is allready added to the collection or not and then render them all at once in the order they were added.
Update 2:
The real question is how to do the same kind of function (a global list) but without using a static Extension method.
I can not get the _PageStart.cshtml to work for my layout senario. I would prefer to use _PageStart to define a layout for all files in each folder. Each folder represents a different app feature that will contain different layouts.
Until I find a work about I had to copy and past the Layout ="~/folder/_PageStart.cshtml into each page of the folder to get the different layouts to work.
_PageStart isn't being recognized at all as the folders page start. Is there a web config setting missing? The docs aren't fully extensive yet for all Razor related info and I couldn't find anyone discussing this problem via search results.
In order to keep close to code once and separation I need to use the _PageStart.cshtml method rather than code a line in each page in the folder.
On win7 using both webmatrix and vs2010 web engines. Neither recognizes _PageStart.cshtml but hard coding into each file works.
I like to handle and compare a lot of date times in my repeater even I have to work more than one time with the same.
It's a bit ugly, to cast everywhere the Eval("MyDate") like ((DateTime)Eval("MyDate")) to substract 2 datetimes or to compare it, even if you have to do this more than in one operation.
I thought of saving all the evals in a var at start of the repeater?
DateTime mydt1 = Eval("myDate");
DateTime mydt2 = Eval("mydate");
after that, it's easy to do any operations in the whole repeater. Hope you understand my idea. Is this possible? I tried short but everytime errors.
mydt1 - mydt2....
I want client access a data center but without use database , so I want my web app can retain a global or Application session variable, that contains the data, every client can access the same data... I am try to declare in golabl, but seem it only can store String but others ..
View 5 Replies to define a variable/property of more than one type. Let's say i want a property TextWebControl that is a WebControl and also implements Web.UI.ITextControl(f.e. like a TextBox or Label). But i don't want to enforce that it is a TextBox or Label, but only one that inherits from WebControl and also implements ITextControl so that it also would work with controls added in future releases of .Net-Framework.
.Net-Framework 4.0
Edit: I have retagged the question and added VB.Net because it's my default language. Normally it's no problem for me to understand C# also, but i must admit that it's difficult to translate generic stuff to VB.Net without experiences and it's also better documentated in C# than in VB. So i would appreciate(and aceept) a working example of a VB.net generic type of ITextControl/WebControl.
From Marc's answer i understand that i need a generic class. But how do i instantiate it in SomeClass? This won't compile:
Class SomeClass
Public Property info As InfoControl(Of WebControl, ITextControl)
End Class
public static string SEARCH_STRING = "searchkey";
string key=Request.QueryString.Get(SEARCH_STRING);
How to change the above code to make SEARCH_STRING be accessed using a Property(get; set;) instead of a public variable
I have to define a global and unchangeable variable in a web page. I used static variable but its content is the same for all users that use the page and it is bad. I dont want use Session variable.
View 5 RepliesI have a user control which contains a number of child controls. I want to be able to change the layout of the control (i.e. change the markup surrounding the child controls) via a property of the user control, but I don't want to have to duplicate the child controls themselves. This precludes using, say, a MultiView with different versions of the layout in each view, since in that case I'd have to duplicate the controls. I'd also rather use markup than emit the code for the control directly (as you'd do in a server control).
To give a contrived example, say I have a label and a textbox. In one layout, I want the label and textbox to be contained by divs and laid out on top of each other. In an alternate layout, I want them to be contained side by side in a table.
Should I just go ahead and duplicate the controls between each view? It seems like a violation of the DRY principle, but I'm not sure if I have much choice. A partial solution would be making the views of a multiview into naming containers so that I could at least save myself the time of having to prefix the duplicate control IDs with something to make them unique.
I am having the following piece of code that is not working:
<a href="#" onclick="Edit(@Interest);">edit</a>
where I have
@{string Interest=""}
It's simple to create both user control from the two world : ASP.NET+Razor or MVC 3.0.But i do not known how to consume the user control FROM the razor"_layout.chtml" page.I want to put such thing within the layout page: <uc:MyTag Prop1="" Prop2="" />So i need to declare this directive at top of the layout file : <%@ Register TagPrefix="uc" TagName="MyTag" Src="Controls/Mytag.ascx" %>
View 1 Repliescan we grab a global variable or Session or View State variable in the javascript or using jquery?
I have a web application which uses a session variable to store the logged in userid. If no user is logged in, of course this variable will be empty and the contents displayed on my website are meant for guests. If there is a user logged in, the user specific controls/access/links will then be a displayed.
I am now having issues with my hosting where on shared application pool, the worker recycle is triggered every 90 minutes, this will clear sessions causing all my users to be logged out. I opted for a dedicated application pool, which got worse because I am only allocated 50MB memory limit and if this is reached, the worker recycle is triggered and I lose my sessions again. I have tried as much as possible optimization techniques, e.g. dispose where possible, close connections, disable viewstate for static controls etc but my memory per instance keeps building up from page to page without any signs of improvement. I don't use loops nor store huge objects like bitmaps etc but my sessions are now gone even faster than 90 minutes in shared application pool before.
I have considered using SQL Session State but there isn't a simple guide on using this with MySQL. I am getting desperate and considering using a public variable, a string as a replacement to store logged in user id instead of in a session variable. I am pretty sure this will solve my issue with sessions being recycled but are there any negative consequences of doing this? One problem I can think of is if the user closes the browser, the system will never know that the user is now logged out and this public variable should be nothing. In this scenario, will the GC eventually clear this abandoned public variable.
I got a variable of type System.Drawing.Image and need to convert it to a variable of type byte so I can store the image in the database. Can someone show me how to do that in VB.NET code.
View 2 RepliesI'm evaluating two options of accessing a server side data on client side. Little bit confused about the efficiency or may be you can call it as finding best approach to do it.
I need to access a server side data may be an integer value in javascript on client side. I know about two options to do it.Create a public variable or property on server side and set it to javascript variable on client side as below:
var value = eval(<% =value %>);
Create a asp hidden variable and set value in this hidden variable from server side and access it through javascript using document.getElementById().
Which is the best approach and what are the pros and cons?
Possible Duplicate: Use of var keyword in C# Hi, I am pretty new in C#,I would like to know the best practices in declaring variables.I know it is possible to use VAR (explicit declaration) or the DataType when declaring a variable (implicit).
View 3 RepliesI'm am not quite sure why I am getting this error.
Dim numUsers as Integer
Using myConnection as New System.Data.SqlClient.SqlConnection("Data Source=(local);InitialCatalog=dbtest;Integrated Security=True")
Dim queryString As String = "SELECT COUNT(*) AS Num_Of_User FROM tblusers WHERE username=@username AND password=@password"
Using myCommand as New System.Data.SqlClient.SqlCommand(queryString, myConnection)
myConnection.Open
myCommand.Parameters.AddWithValue("@username", requestName)
myCommand.Parameters.AddWithValue("@password", requestPass)
numUsers = myCommand.ExecuteScalar()
End Using
End Using
This error occurs on the first using statment.
<select name="MessageType" style="width: 151px">
<option value="P">P - Proprietary</option>
<option value="B">B - BCBSA</option>
<option value="S">S - Place Specific</option>
</select>
How to set the selected value for this Dropdownlist box?
<%=p.MessageType%>.. this is the value I am getting from database so that In my Grid what ever the Value coming form database it will show in the Dropdownlistbox on the Grid now its showing me as Default value P even Database value B
have a look at this simple code snippet
[Code]....
Here second declaration of x gives error that "variable 'x' hides a variable in an enclosing block. I wonder why this error is not given for second 'i' variable declared in second for loop?
Since i am declaring second x in a separate for block, why this error is given for variable second x ?
What would be the proper syntax in ASP.NEt 3.5 C# to assign a TextBox value to a temporary or session variable to be manipulated (added, subtracted, multiplied, divided) at different points in the application? I want to add a decimal number to this variable in almost every instance as well.
View 3 Repliesthe best way to define the Database Path as i m using
Code:
MyDbPath = "D:ASP SitesHwMan ADOApp_DataHwMan.mdb"
Conn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=" & MyDbPath)
Can you let me know the equivalent of C/C++ #define in asp.net?
View 5 RepliesCan I define or use 2 "CollapseControlID"? If yes how?CollapseControlID="ATTCoachSubmitButton; CoachPanel"
View 4 Replies