MVC :: Controller.UpdateModel Breaking Change On Empty String?
Apr 22, 2010
I have just upgraded a large project to MVC 2 (50+ controllers) and whilst the project builds fine I am having issues in several places because it looks like the way the Controller.UpdateModel method handles emtpy strings has changed.
In MVC 1 it set the associated property to an empty string but in MVC2 it's setting it to null.
View 2 Replies
Similar Messages:
Apr 22, 2010
I have just upgraded a project from MVC 1 to 2 and I have come across an issue with fields updated via UpdateModel which contain an emtpy string.
In MVC 1 the associated property would be set to String.Emtpy or "", but in MVC 2 it's set to null. This is causing me all kinds of problems
View 1 Replies
Sep 22, 2010
Trying to get UpdateModel to work for my User. The User class has basic string properties like CompanyName, FirstName, LastName, etc so nothing exotic. Here is the header for my view:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Public.Master" Inherits="System.Web.Mvc.ViewPage<User>" %>
After they submit, in my controller, the code looks like this:
[HttpPost]
public ActionResult Edit(string id, FormCollection collection)
{
[code]...
View 2 Replies
Apr 8, 2010
This is probably something silly I'm missing but I'm definitely lost. I'm using .NET 4 RC and VS 2010. This is also my first attempt to use UpdateModel in .NET 4, but every time I call it, I get an exception saying Value cannont be null or empty. I've got a simple ViewModel called LogOnModel:
[Code]....
My view uses the new strongly typed helpers in MVC2 to generate a textbox for username and one for the password. When I look at FormCollection in my controller method, I see values for both coming through.
And last but not least, here's are post controller methods:
[Code]....
why UpdateModel would be throwing this exception?
View 4 Replies
Mar 4, 2010
DateTime.Now.ToString("h:mm tt")
What is the proper way to.. escape if that is the proper term, that html entity so that it will produce the output Code: 8:53 am and the non breaking space is rendered correctly be the browser?
View 1 Replies
Jan 12, 2010
I have a view model class that looks something like this
public class ViewModel
{
public string Name { get; set; }
public IList<SubViewModel> Subs { get; set; }
}
[code]...
Now when I call try update model it replaces the "Subs" list with a new one rather than just updating the IsSet property at the correct index.
View 1 Replies
Apr 1, 2010
I had the same problem and used this posted to fix some of it.Now I had it on
SqlDataSource1.SelectParameters.Add("dateListedSince", TypeCode.DateTime, Date.Now.AddDays(-30))
any ideas how to fix that?
View 2 Replies
Jan 20, 2011
I have an app I am transitioning to MVC3 to see what the upgrade path is essentially. I've hit a snag. I believe I've run into a change that may be due to the changes for Dependency Injection in action filter attributes, but I have been unable to track down the cause, and the "correct" solution.This project uses StructureMap and NHibernate. The NHibernate session is started at the beginning of each request, and ends at the end of each request, thanks to a small module. This is just to give an idea of the stack involved...o I have a few custom Authorize attributes (Inheriting from AuthorizeAttribute) that perform some more complicated authorization logic for specific actions that they decorate. Part of their functionality involves using two repositories which they must either (a) have injected, or (b) get from the StructureMap ObjectFactory themselves. In MVC2 I was using option b, so that the CONSTRUCTOR of the attribute looked like this:
[Code]....
This worked fine, as in MVC2 the constructor was called each time the attribute was evaluated. This BREAKS in MVC3, where it would appear that this is no longer the case. Due to this apparent change, the FIRST time this attribute is evaluated, it runs fine, but each subsequent time, any calls in the repositories fails because it claims the NHibernate Session object hasn't been started! The reason being, as far as I can tell, that the CustomAuthorizeAttribute is created once, and then held in whatever state it exists in at that point for the lifetime of the application... Which means that the dependencies inside of it (Which SHOULD go out of scope at the end of each request, and be reinstantiated / fetched at the beginning of subsequent requests), are instead persisting with it becoming stale after the first evaluation.After banging my head against the desk for a few hours, I realized that simply moving these calls to the ObjectFactory into the AutorizeCore method made everything work again.Now, all of this was of course, a hack, because there wasn't a good easy to do real dependency injection into attributes in MVC2. I hear that is changed in MVC3, and I am wondering if this behavior is in response this change, and if so, what do I need to do to make this work?
View 3 Replies
Feb 3, 2010
I have some code that is used to replace certain page output with other text. The way I accomplish this is by setting the Response.Filter to a Stream, Flushing the Response, and then reading that Stream back into a string. From there I can manipulate the string and output the resulting code. You can see the basic code for this over at [URL] However, I noticed that Page Caching no longer works after the first Response.Flush call.
I put together a simple ASP.NET WebApp as an example. I have a Default.aspx with an @OutputCache set for 30 seconds. All this does is output DateTime.Now.ToLongTimeString(). I override Render. If I do a Response.Flush (even after the base.Render) the page does not get cached. This is regardless of any programmatic cacheability that I set. So it seems that Response.Flush completely undermines any page caching in use. Why is this?
extra credit: is there a way to accomplish what I want (render output to a string) that will not result in Page Cache getting bypassed?
ASPX Page:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestCacheVsFlush._Default" %>
<%@ OutputCache Duration="30" VaryByParam="none" %>
<%= DateTime.Now.ToLongTimeString() %>
Code-behind (Page is Cached):
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
Code-behind (Page is not cached):
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
Response.Flush();
}
Code-behind (Page still is not cached):
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
Response.Cache.SetCacheability(HttpCacheability.Server);
Response.Cache.SetExpires(DateTime.Now.AddSeconds(30));
Response.Flush();
}
View 1 Replies
Feb 19, 2010
I have a gridview with two bound fields. On clicking a button i want to display the values in first row of gridview in two textboxes. But if gridview cell is empty i am getting the text in textbox to which the value of cell is given as -' 'i know my problem will be solved if i use the template fields instead. But i want a solution while maintaining the bound fields ,if any.
View 2 Replies
Sep 5, 2010
I have this code, how will I write the code so I can check if a textbox i empty? This way want work. Now it goes in if cellPhone != null all the time.
[Code]....
View 5 Replies
Oct 24, 2010
I have to break a HTML content string in to multiple lines. And each line should have some fixed characters, 50 or 60 Also I don't want to break the word..or html tags...
ex : <p>Email: <a href="mailto:someone@gmail.com">someone@gmail.com</a></p>
<p><em>"Text goes <font color=red>Hello world</font> Text goes here and Text goes here Text goes here 1976."</em> </p>
How can I acheive this in C#?
View 1 Replies
Sep 16, 2010
Possible Duplicate: In C#, should I use string.Empty or String.Empty or “” ? just don't understand the benefits of using String.Empty over "". Aside it being strongly typed its longer.
View 2 Replies
Feb 24, 2011
i facing a problem to change the date format at gridview display.
below is my coding:
[code]....
View 2 Replies
Jan 8, 2010
By default ASP.NET MVC uses ContentResult for controller method that return result not inherited from actionresult type. That is why if we will return some poco entity it will be only its type name.Could I overload something in controller to make it return jsonresult by default.Example:// return json product representation instead of product typename
public MyController: Controller
{
public Product MyAction()
{
return new Product { Name = "Foo", ID = 1 };
[code]...
View 1 Replies
Sep 14, 2010
When i run the following code i get an error when gridview changes mode to Edit. stating that you can't change string to decimal!
To get around the occurance i want to disable code when in Edit mode or resolve another way?
GridView1_RowDataBound
For Each row As GridViewRow In GridView1.Rows
Dim cell As TableCell = row.Cells(7)
Dim invoicetotal As Decimal = CDec(cell.Text)
View 2 Replies
Oct 18, 2010
I have a textbox where email addresses are displayed at the click of a button. There is one problem, before the first email address there are two empty spaces. Is there any way of getting rid of them? The result looks like this: " emailaddress; emailaddress; emailaddress;"
Here's my button click:
[Code]....
View 2 Replies
Nov 10, 2010
With script below, request to the server always sends empty string (even if value is not emtpty), where the data line is:
data: "{ 'folderName': '" + $(this).val() + "' }"
The html element under investigation is this:
<asp:TextBox id="searcher" runat="server" ClientIDMode="Static" CssClass="classificationFolder" />
Script is:
<script type="text/javascript">
$(document).ready(function () {
$(".classificationFolder").each(function () {
[Code]....
The reason that I select elements by css class selector ($(".classificationFolder")) is that, this control is a user control and used in the same page more than once. That is why I'm not using $("#searcher").
I tested the code In IE8 and Chrome 8.0.552.28 beta. This issue is arising in both of the browsers.
On the other hand, request is sent to the server, client received response successfuly and response is processed on the client.
View 3 Replies
Jan 29, 2012
I'm stuck getting a value from a textbox in code behind. I have tried
Code:
string s2 = txtEmployeeNr.Text;
and
Code:
string s1 = Server.HtmlEncode(txtEmployeeNr.Text);
And just get an empty string.
I have used the last one before with good results.
View 8 Replies
Feb 16, 2011
I am trying to get this functionality on my jokes website:
www.mysite.com/category/bar
To get all the bar jokes ..etc
The way I have my route right now is:
{controller}/{action}/{id}
which means I have to type:
www.mysite.com/category/index/bar
the problem is that even with that, the string parameter "bar" isn't being acknowledged ! ( I know from debugging). Here is my Index action in the Category controller:
[Code]....
View 8 Replies
Apr 8, 2010
Using MVC2 and C#:
I have textbox that is going to be used for searching. I would like to access the data entered in this textbox in the Controller, so I can filter results in my list. I've found a couple ways to accomplich this, but haven't been successful with any. The way that I like the most is using action method parameters. Here's what I have setup; can someone tell me where I am going wrong or supply a simple example:
I have a SearchDetails view that is basically a textbox:
[Code]....
Here's the search details method from the controller:
[Code]....
Here's the search results method from the controller (where I'm trying to access the data from the textbox):
[Code]....
I added a break on the line with 'test' string and 'txtInvestigator' is null. I've also tried to make these methods GET requests and try to access the textbox value directly with Request.QueryString. It seems like I'm close, but must be missing something fairly obvious. As an aside, I already have a List() method in the controller that lists all the items from a table in my DB so I am making a little progress!
View 3 Replies
Nov 29, 2010
Is it possible to change Properties of ViewData.ModelMetadata in Controller?. For example, can I do the following to change the display information of the LogOnModel:
[Code]....
When I do that there is no errors but DisplayName is not change. I'm trying to localize strings to different languages and also to make some attributes of the model different depending on users roles.
View 7 Replies
Aug 5, 2010
I have a questions..
when initially page load I have two radio button in the page..
Add
Edit
when I select Add radio button I need to go the controller Action Add
$("#Add").change(function () {
// what should I write here to hit the controller?
});
View 4 Replies
Jan 24, 2016
Is there any way to convert our class to controller in asp.net MVC ....
View 1 Replies
Dec 19, 2010
Is there any way to use a validator that shows an error mesagge, if the user leaves a textbox blank (empty string)? Note: in this case I can use RequiredFieldValidator, because the control I want to check for empty string is on a modalpopup (which is not visible most of the time) and the RequiredFieldValidator then blocks the Buttons on the rest of the (visible) page.
View 1 Replies