@{Html.RenderAction("Detail", "Help", new { pageName = "press" });} But instead i'd like to use a lambda expression to get away from the string bits. I tried using the following (which is the nearest approximation i could figure based on my limited knowledge of the engine):
@{Html.RenderAction<HelpController>(x => x.Detail("press"));} But i get the following error:
The non-generic method 'System.Web.Mvc.Html.ChildActionExtensions.RenderAction(System.Web.Mvc.HtmlHelper, string, string, System.Web.Routing.RouteValueDictionary)' cannot be used with type arguments
However, i'm reading in the Apress MVC 2.0 book that it is in fact declared as a method that takes type arguments. Am i missing an assembly reference, or has it not been included in the MVC 3.0 Preview 1 build?
I have two lists. lst contains ViewState Data i.e All the records of the gridview & second lstRank contains the list of integer(i.e ID) for only those records which are marked as checked (i.e Gridview contains a columns for checkbox). Now i want to update the lst bool status depending upon integer ID of lstRank. How it can be achieved by lambda expression
I need to get two fields from a database table (retrieved using linq-to-sql), one field is a datetime (and is a fixed field) and the other is always a decimal, but the field can be different.
The table holds currency data which is processed twice a day and in different currencies so could have fields such as AM_USD, PM_USD, AM_EUR etc. And I need to get data such as a list of the date against PM_USD or the date against AM_EUR.
I would like to be able to call the data using a lambda expression for example (this is a stripped out example):
data = TableData.Select(x=>new {x.DateTimeAdded, x.[**field name as string**]});
I have been trying to write a function to do this, and am failing dismally.
I'm new to LINQ and EF and I seem to be having trouble working this out.
I have a many-to-many relationship between my Location and Region tables. When adding or editing a Location, my interface allows the user to check any number of related Regions. If they click OK, I need to add any new relationships that were checked, and delete any existing relationships that have been unchecked. My basic code is shown below.
However, this code doesn't work. Lower down, the line location.Regions.Contains(region) returns false even when the location already is related to the region. The issue appears to be because the region is from my populated listbox that was initialized earlier and is no longer part of the current EF context. But if I try and add it, I get an error that there is already a Region with that ID.
It seems like what I want to do is change this line to something like location.Regions.Contains((r) => r.RgnID == region.RgnID) so I'm only testing for a particular ID. But this gives me the error "Cannot convert lambda expression to type 'TrailCalendar.Region' because it is not a delegate type."
I don't understand this error but, either way, I'm not sure how I can test if the relationship already exists without reloading a bunch of data, which I'd like to avoid.
how the Lambda expression work specially in case of parameters (in the above case a & b) ? What is the basic concept of parameters in Lambda expression ? Can we use the names of the variables defined outside of the query instead of a & b ? which elements a & b represent in the above case represent ? Can we pass parameters from outside in the query ? If we can pass parameters from outside query then how it will be done? If you give me any other example instead of the above query to understand the concept of parameter in Lambda expression.
What will be the equivalent GroupJoin lambda expression in LINQ when I do this.
Dim fruit_salad = (From fruits In _DataContext_Fruits _ Group Join fruitRipe In _DataContext_FruitRipe On fruitRipe.fID Equals fruits.fID Into Group From fruitty_lecious In Group.DefaultIfEmpty() _
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" ValidationGroup="passwordValidation"></asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" Display="Dynamic" ControlToValidate="txtPassword" Text="Required" ValidationGroup="passwordValidation" /> <asp:RegularExpressionValidator runat="server" ControlToValidate="txtPassword" Text="Passwords should contain a minimum of 7 characters with at least one numeric character." ValidationExpression="^(?=.*d{1})(?=.*[a-zA-Z]{2}).{7,}$" ValidationGroup="passwordValidation" Display="Dynamic"></asp:RegularExpressionValidator>
If I type in a password like test1234, it passes in chrome and firefox, but the message that my password should contain a minimum of 7 characters with at least one numeric character is shown in internet explorer
As soon as compiler execute this statement i get error
" [System.Threading.ThreadAbortException] = {Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.} "
What will be the possible reasons for the error.
Although it throws execption but it will allow to convert report when i deployed my site using http but when i deployed my site using https then it will shows error .
var pq = attributes.SingleOrDefault(a => a.AttributeName == PasswordQuestion").AttributeValue;
The above code will throw an error if null. What is the best way to handle this?The below code would work, but I can't help but feel there's a more graceful way?
As I know, the inline expression in the attributes of server control can't be parsed but the binding expression should if we invoke the DataBind method. But the above case breaks the rule.
I'm trying to use the validator to work on a email form to ensure that they enter a valid from email address. That part works. I also want to add to the expression the text that I pre-populate in the txtbox ("Enter your email address") so on postback, after sending the message, I can clear the fields and repopulate that box.
How do I add that wording to the current expression: w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*
Just wanted to get clarification that methods like HTML.TextBoxFor() exist ONLY for the benefit of compile-time parameter type checking.
From my experimentation, these appear to ONLY accept a simple "expression lambda" syntax, which simply provides reference to a member property, and will not allow more robust use of "statement lambda" syntax. Other places in the .NET framework where lambda's are used, "statement lambda" syntax can be used, such as :
( x => { x += 7; if(x < 9) return x * 3; } )
... in effect, multiple statements of "in-line" code.
The type checking benefit is great - I just wanted to understand if there is additional capability which I have not recognized.
I am using Regular Expression validator for a text box. The below is working fine.It is not performing validation when I enter values like 0000..001.How can I modify validation expression? But it would allow values like 100,...5000 i.e zeros after a number.
<asp:RegularExpressionValidator ID="reg2" runat="server" ControlToValidate="rng2" ValidationExpression="^[0-9]+" ErrorMessage="*Please Enter a Valid Number for Second Range." ForeColor="Red" Font-Bold="True"></asp:RegularExpressionValidator>
I'm debugging some tricky generic List-based code in VS 2010 - lots of heirarchy-processing etc.. Of course lambda expressions and anonymous methods aren't permitted within the immediates window and I can't be doing with stepping thru the code in the usual way as I'm still trying to get my head around the hierarchies ...Can anyone suggest a workaround or an alternative tool?P.S. An aside - I can't seem to find a visual studio 2010 tag?
I need some help in regular expression.I am validating the textbox text when updating the records.When i click the update button,the first 5 letters should be equal to CM000 or cm000.How to validate this using regular expression in asp.net. does anyone know validationexpression for this.
I have a ListBox that contains userNames which is inputted by a user during run time. This number of items in the ListBox is dependent on the user's input. These userNames will then be used in a Lambda expression like this:
var vHandleResult = vHandleResult.Where(a => a.UserName.Contains("userName"));
This works fine when there is only 1 user in the ListBox but doesn't produce the correct results when there are multiple items in the listBox. I tried manually creating the expression which should be written as this:
I tried forming the "a.UserName.Contains("userName") expression as a string which is dependent on the number of the items (using foreach) and then just plug in the resulting string in the expression but it seems that it doesnt accept string as an expression.