小编Jah*_*Can的帖子

如何在MVC中发布项目列表

我有一个简单的表单,其中包含一个项目列表,我想将它们发布到控制器,但有趣的是我不能.除了列表之外,其他所有内容都会正常运行.我在firebug中检查了ajax调用,并且post值是这样的:

Answers[0].IsMissing    False
Answers[0].Text Ja
Answers[0].Value    0
Answers[1].IsMissing    False
Answers[1].Text Nein
Answers[1].Value    1
Id  1cd14b08-ce3b-4671-8cf8-1bcf69f12b2d
Name    Ja/Nein
Run Code Online (Sandbox Code Playgroud)

我有一个具有以下属性的AnwserScheme类:

public string Name { get; set; }
public bool IsMissing { get; set; }
public List<AnswerDisplayItem> Answers { get; set; }

public AnswerScheme()
{
    Answers = new List<AnswerDisplayItem>();
}
Run Code Online (Sandbox Code Playgroud)

我有这个视图代码:

@for (int i = 0; i < Model.Answers.Count; i++) {
    <tr>
        <td>
            @Html.HiddenFor(model => Model.Answers[i].IsMissing)
            @Html.TextBoxFor(model => Model.Answers[i].Value, 
                             new { @class = "inputValue" })
        </td>
        <td>
            @Html.TextBoxFor(model => Model.Answers[i].Text, 
                             new { @class …
Run Code Online (Sandbox Code Playgroud)

c# ajax asp.net-mvc jquery

17
推荐指数
1
解决办法
6万
查看次数

将问题ANSI转换为UTF8 C#

我在c#中将文本文件从ANSI转换为UTF8时遇到问题.我尝试在浏览器中显示结果.

所以我有一个带有许多重音字符的文本文件.它用ANSI编码,因此我必须将其转换为utf8,因为在浏览器中而不是出现"?"的重音符号.无论我如何尝试转换为UTF8,它仍然是"?".但是,如果我将notepad ++中的文本文件转换为utf8,那么重音符号就会显示出来.

这是我编写的代码的和平:

    public string Encode(string text)
    {
        // encode the string as an ASCII byte array
        byte[] myASCIIBytes = ASCIIEncoding.ASCII.GetBytes(text);

        // convert the ASCII byte array to a UTF-8 byte array
        byte[] myUTF8Bytes = ASCIIEncoding.Convert(ASCIIEncoding.ASCII, UTF8Encoding.UTF8, myASCIIBytes);

        // reconstitute a string from the UTF-8 byte array 
        return UTF8Encoding.UTF8.GetString(myUTF8Bytes);
    }
Run Code Online (Sandbox Code Playgroud)

你知道为什么会这样吗?

c# encoding ansi utf-8

8
推荐指数
3
解决办法
4万
查看次数

如何使用实体框架自动包含所有基础导航属性

场景:我想在数据库中添加一个具有导航属性的实体,实体具有导航属性......等等.基本上,数据库中的表是相互连接的 - 所有这些表.

我使用EF4.3和上下文/请求模式,所以我不想启用Lazy加载; 它只需要花费太多时间来加载我需要的实体.到目前为止,我已经知道除了使用这样的include方法之外别无他法.

 context.Set<TEntity>().include("navproperty1").include("navproperty1.navproperty1.1")... and so on.
Run Code Online (Sandbox Code Playgroud)

这样可维护性会很糟糕,而且它是很多代码,但是如果我不想手动为每个实体类型编写所有包含,还有其他方法吗?

c# entity-framework lazy-loading navigation-properties

4
推荐指数
1
解决办法
1万
查看次数

如何在c#中刷新数据绑定集合?

我正在写一个简单的wpf应用程序,但我卡住了.我想实现,我有一个过滤器类,并且如果用户输入在过滤器类中更改了id,则列表应该刷新应用过滤器.所有初始绑定都有效.该列表与CompanyId一起正确显示.

xaml中的数据绑定:

<ListBox Height="212" HorizontalAlignment="Left" Margin="211,31,0,0" Name="listBoxProducts" VerticalAlignment="Top" Width="267" ItemsSource="{Binding ElementName=this, Path=Products}" DisplayMemberPath="CompanyId" />  
<TextBox Height="28" HorizontalAlignment="Left" Margin="12,31,0,0" Name="textBoxCompanyId" VerticalAlignment="Top" Width="170" Text="{Binding ElementName=this, Path=Company.Id}" />
Run Code Online (Sandbox Code Playgroud)

xaml的代码隐藏:

private TestFactory _testFactory  = new TestFactory();

    private Company _company;
    public Company Company
    {
        get { return _company; }
    }

    private IProductList _products;
    public IProductList Products
    {
        get { return _products; }
    }


    public MainWindow()
    {
        _company = _testFactory.Company;
        _products = _testFactory.Products;

        InitializeComponent();
        _company.FilterChanged += _testFactory.FilterChanging;
    }
Run Code Online (Sandbox Code Playgroud)

(虚拟)工厂类:

private IProductList _products;
    public IProductList Products 
    { …
Run Code Online (Sandbox Code Playgroud)

c# data-binding wpf inotifycollectionchanged inotifypropertychanged

3
推荐指数
1
解决办法
1563
查看次数

使用Twitterizer更新Twitter状态时出错

对于twitterizer,我有这个测试应用程序.

var temp = TwitterViewModel.TokenStore;

       string token = HttpContext.Current.Request.QueryString["oauth_token"];
       string verifier = HttpContext.Current.Request.QueryString["oauth_verifier"];
       string ConsumerKey = WebConfigurationManager.AppSettings["twitterApiKey"];
       string ConsumerSecret = WebConfigurationManager.AppSettings["twitterConsumerSecret"];

       OAuthTokenResponse TwitterResponse = OAuthUtility.GetAccessToken(ConsumerKey, ConsumerSecret, token, verifier);

       var Tokens = new OAuthTokens();

       foreach (KeyValuePair<string, OAuthTokens> Token in TwitterViewModel.TokenStore)
           if (Token.Key == UserSession.GetSession().Login)
               Tokens = Token.Value;

       if (TwitterResponse != null)
       {
           Tokens.AccessToken = TwitterResponse.Token;
           Tokens.AccessTokenSecret = TwitterResponse.TokenSecret;
       }

       TwitterViewModel.TokenStore.Remove(UserSession.GetSession().Login);

       TwitterResponse<TwitterStatus> Response = TwitterStatus.Update(Tokens, "testmsg");

       ResponseErrorMessage = Response.ErrorMessage;
       ResponseResult = Response.Result.ToString();
       ResponseContent = Response.Content;
Run Code Online (Sandbox Code Playgroud)

似乎工作正常,直到达到这条线:"TwitterResponse Response = TwitterStatus.Update(Tokens,"testmsg");" 这条推文被放在推特"墙上",我收到了一条错误消息:"无法加载文件或程序集'Newtonsoft.Json,Version = 3.5.0.0 …

c# json.net twitterizer

2
推荐指数
1
解决办法
2092
查看次数