小编jml*_*kin的帖子

无法在Visual Studio 2012中使用.NET 4.0应用程序上的ClickOnce发布

我安装了Visual Studio 2012,然后去发布一个针对.NET 4.0框架的应用程序.由于这些机器上的设置,我们目前无法定位4.5.我们还使用"从与我的应用程序相同的位置下载先决条件"功能.

从Visual Studio 2012部署时,我收到以下错误:

要在"先决条件"对话框中启用"从我的应用程序的相同位置下载先决条件",必须将项目"Microsoft .NET Framework 4(x86和x64)"的文件"DotNetFX40\dotNetFx40_Full_x86_x64.exe"下载到本地计算机.有关详细信息,请参阅http://go.microsoft.com/fwlink/?LinkId=239883.

如果转到该链接,它会告诉您导航到Package.xml文件,并找到实际先决条件的链接.就我而言,它应该转到http://go.microsoft.com/fwlink/?linkid=182805.使用该链接,它下载了一个名为dotNetFx40_Full_setup.exe的软件包.我把它放在/Packages/DotNetFX40文件夹中.

当尝试从Visual Studio 2012再次发布时,我得到了同样的错误.它似乎不喜欢这个文件.

如果我现在使用Visual Studio 2010将相同的应用程序发布到同一位置,它仍然可以正常工作.

如何使用Visual Studio 2012?

.net clickonce .net-4.0 visual-studio visual-studio-2012

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

ASP MVC表单以调用特定操作,而不重定向但更新原始页面

我正在将ASP.net MVC 3用于一个项目,并且在这一点上我了解了更多信息,但是还试图了解它与我使用了很长时间的WebForms世界之间的区别。以前,在WebForms中,您只是将字段放在那里,添加一个按钮,创建一个事件,然后通过回发处理所需的一切。

例如,我有一个简单的视图,显示有关错误的详细信息。我想将有关此错误的一些信息推送到我们的问题跟踪器的API。可以说仅是错误的主题和内容。我会在HTML中执行以下操作:

<form action="@Url.Action("Send")" method="post">
    <input id="subject" name="subject" type="text" value="@Model.subject" />
    <br />
    <input id="content" name="content" type="text" value="@Model.content" />
    <br />
    <input type="submit" value="Send" />
</form>
Run Code Online (Sandbox Code Playgroud)

我发现命名输入ID以匹配控制器中的参数名称将使我传递这些参数。这类似于您在Scott Guthrie的较早的文章中看到的内容。

首先,我想在我的Errors控制器中调用“发送”操作,而不是在Details中。这实际上确实调用了“发送”操作,但随后重定向到了我不希望它执行的本地主机/错误/发送。

我希望能够提交此表单,该表单将调用并执行操作并使用远程API进行工作,然后在当前页面上更新一条消息,指出错误已转移。

将问题提交给错误跟踪器后,例如,如何在原始页面上显示DIV,将内容传回给它(例如,在问题跟踪器中指向问题的链接)?

更新:这是我在控制器中正在做的事情:

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://localhost/redmine/issues.json");
request.Credentials = new NetworkCredential("username", "password");
request.Method = "POST";
request.ContentType = "application/json";
request.Accept = "application/json";

using (StreamWriter writer = new StreamWriter(request.GetRequestStream()))
{
    writer.Write("'issue': { " +
                      "'project_id': 'project', " +
                      "'subject': 'Test issue'" +
                      "}");
}

WebResponse response = …
Run Code Online (Sandbox Code Playgroud)

c# forms asp.net jquery asp.net-mvc-3

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

在 WPF 中的数据绑定组合框中禁用分隔符选择

我有一个数据绑定的组合框。在这个列表中,我需要一个分隔符。由于这是数据绑定,我做了一些与这篇文章非常相似的事情。我的数据库返回列表,包括一个 '-' 来标记分隔符需要去的地方,数据触发器使它成为一个分隔符。

<ComboBox Name="cbAction" Grid.Column="1" Grid.Row="0" Margin="5,2,5,2" DisplayMemberPath="Description" SelectedValuePath="Code" SelectionChanged="cbAction_SelectionChanged">
    <ComboBox.ItemContainerStyle>
        <Style TargetType="{x:Type ComboBoxItem}" BasedOn="{StaticResource {x:Type ComboBoxItem}}">
             <Style.Triggers>
                <DataTrigger Binding="{Binding Code}" Value="-">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="{x:Type ComboBoxItem}">
                                <Separator HorizontalAlignment="Stretch" IsEnabled="False"/>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </DataTrigger>
            </Style.Triggers>
        </Style>
    </ComboBox.ItemContainerStyle>
</ComboBox>
Run Code Online (Sandbox Code Playgroud)

除了我在这里遇到的问题和一个小设计问题(我将在另一个问题中提出)之外,这大部分工作正常。

使用鼠标时,用户无法选择分隔符,这是正确的。但是如果用户使用向上/向下箭头选择项目,他们可以选择分隔符。这不是默认行为,它会跳过分隔符。

如果您的 XAML 具有各种 ComboBoxItems 和一个 Separator 项(使用向上和向下键时跳过分隔符),我如何使此分隔符的行为类似于它的行为方式

wpf combobox databound

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

实体框架选择导航ICollection为IQueryable

我刚开始使用EF Code First来实现一个简单的博客.

我有一个Post对象,它有一个产品变量

virtual Product Product { get; set; }
Run Code Online (Sandbox Code Playgroud)

Product类有一组类别

virtual ICollection<Category> Categories { get; set; }
Run Code Online (Sandbox Code Playgroud)

最后该类别有一个集合帖子.

virtual ICollection<Post> Posts { get; set; }
Run Code Online (Sandbox Code Playgroud)

到目前为止,这一点运作良好.现在我想获得特定类别的帖子.我最初通过传递类别Id来在我的PostRepository中执行此操作:例如

public IQueryable<Post> GetPosts(int catId) {
    var q = _db.Posts.Select(p => p).Distinct();
    if (catId > 0)
        q = q.Where(p => p.Product.Categories.Any(c => c.ID == catId));
}
Run Code Online (Sandbox Code Playgroud)

这很好用,但我也使用CategoryRepository来获取我的类别.由于该类别有一个产品列表,而这些产品又有一个帖子列表,我认为最好只使用它,并从我的PostRepository中删除该类别.

但是,我遇到了一个问题.要获得帖子,我在我的控制器中使用它:

model.Category = _cr.GetCategory(catId);
model.Posts =
    new PaginatedList<Post>(model.Category.Products.Select(p => p.Posts)
               .AsQueryable(), pageNumber, _defaultPageSize);
Run Code Online (Sandbox Code Playgroud)

PaginatedList是NerdDinner接收IQueryable的那个.现在,这个错误,因为我传递了一个

IQueryable<ICollection<Post>>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是如何从我的Category实体中获得IQueryable?我确定答案很简单,但我一直在尝试各种组合无济于事.

asp.net asp.net-mvc entity-framework code-first

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