我正在使用Console.SetOut方法将我的所有Console.Out.WriteLines写入文件,这是有效的.唯一的问题是,当我关闭应用程序时它只会将所有内容写入文本文件,而不是每当Console.Out.WriteLine发生时都写入.关于如何实现这一点的任何想法?
我是怎么做的:在Application.Run()之前;
FileStream writerOutput = new FileStream("Logging_Admin.txt", FileMode.Append, FileAccess.Write);
StreamWriter writer = new StreamWriter(writerOutput);
Console.SetOut(writer);
Run Code Online (Sandbox Code Playgroud)
在Application.Run()之后:
writer.Dispose();
Run Code Online (Sandbox Code Playgroud)
谢谢.
c# logging streamwriter console.setout console.out.writeline
我想在我的Java应用程序(在本例中为Vaadin Portlet)中添加版本编号,其中包含帮助视图中的版本号.
问题是该版本号是我的Maven的POM文件中定义的版本号(例如1.1.5-SNAPSHOT),这是我们要更改的版本号(例如发布时).
关于如何从POM中获取它并使用Java(例如,String)的任何想法?(如果可能的话)
谢谢
所以我有一个我想在List上调用的方法(这是我每次在不同文件中运行的通用方法,所以我想把它放在一个静态类中).
方法是这样的:
public static List<Item> GetRangeOrMax(this List<Item> list, int amount)
{
return list.Count < amount ? list.GetRange(0, list.Count) : list.GetRange(0, amount);
}
Run Code Online (Sandbox Code Playgroud)
问题是,我需要运行此列表的每个列表都不是Item类型.我想知道我是否能够使用泛型来解决这个问题?说些什么(这List<T> list...
这里的问题是该方法还必须返回该值,我想继续使用this关键字.如果不可能,我想我将不得不为每种类型使用不同的重载程序.
所以我为sitecore创建了一个小的自定义对话框应用程序,它通过一个带状按钮调用,该按钮触发一个命令,该命令又触发我的自定义控件.
我的命令(用于触发打开的对话框触发器):
var uri = UIUtil.GetUri("control:LanguageCopyModule");
var id = context.Items[0].ID.ToString();
var la = context.Items[0].Language;
var url = string.Format("{0}&id={1}&la={2}", uri, id, la.Name);
SheerResponse.ShowModalDialog(url);
Run Code Online (Sandbox Code Playgroud)
它在弹出窗口中生成的URL:
直到这一点,它完全可以正常工作,但现在当它打开我的xml控制窗口时,它只是保持空白.
这是xml背后的代码:
<control xmlns:def="Definition" xmlns="http://schemas.sitecore.net/Visual-Studio-Intellisense">
<LanguageCopyModule>
<FormDialog Icon="Applications/16x16/paste.png" Header="Language Copy Module" Text="Copy field values between different languages." OKButton="Copy" CancelButton="Cancel">
<CodeBeside Type="MyAssembly.Modules.LanguageCopyModule.LanguageCopyModule,MyAssembly.Modules"/>
<GridPanel Columns="2">
<GridPanel.ColumnStyles>
<Column Width="70%" />
<Column Width="30%" />
</GridPanel.ColumnStyles>
<GridPanel.RowStyles>
<Row Height="100%" />
</GridPanel.RowStyles>
<!-- Fields -->
<FlowPanel>
<Border BorderThickness="1" BorderBrush="black">
<Text>Text</Text>
</Border>
</FlowPanel>
<!-- Languages --> …Run Code Online (Sandbox Code Playgroud) 我有一张桌子像这样:
<td>
somename
</td>
<td class="hoverable value" >
somevalue
</td>
<td class="changed">
</td>
<td class="original value">
<input type="hidden" value="somevalue" />
</td>
Run Code Online (Sandbox Code Playgroud)
而我正在尝试做的是,我将鼠标悬停在可转动的td上,将其变成文本框.一旦我徘徊,我想检查隐藏字段的原始值,如果2彼此不同,则将图像置于更改状态.我已经有了这个:
$(document).ready( function() {
var newHTML = '';
$('table td.hoverable').hover(
function () {
var oldHTML = $(this).html().trim();
$(this).html('<input type=\'text\' value=\'' + oldHTML + '\' size=\'' + ((oldHTML).length + 2) +'\' />');
},
function() {
newHTML = $('input', this).val();
var oldHTML = $(this).next('td.original').children('hidden').val();
if(newHTML != oldHTML) {
$(this).next('td.changed').html('Changed');
}
$(this).html(newHTML);
})
});
Run Code Online (Sandbox Code Playgroud)
但它不起作用.显然失败的是抓住隐藏领域的价值,我尝试用几种不同的方式选择它,但却无法实现.感谢任何想法或提示;)
所以我的页面上有一个列表框和一些文本字段.通过文本字段,我可以将一个项目添加到我的列表框中(单击按钮,它将其添加到一个私有列表,然后将其设置为ViewState,并再次对数据列进行数据绑定).我的列表框也位于更新面板中,该按钮的Click事件会触发该面板.问题:我的Viewstate在回发时保持为null,因此每次都会重置.
一些代码:
private const string VIEW_INGREDIENTS = "IngredientsList";
private const string VIEW_LANGUAGE = "CurrentLanguage";
private List<IngredientData> _ingredientsList;
protected void Page_PreInit(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
if (ViewState[VIEW_INGREDIENTS] != null)
{
_ingredientsList = (List<IngredientData>) ViewState[VIEW_INGREDIENTS];
}
}
else
{
// prepare ingredient lists
_ingredientsList = new List<IngredientData>();
}
}
protected void Page_Load(object sender, EventArgs e)
{
lstIngredients.DataSource = _ingredientsList;
lstIngredients.DataTextField = "Text";
lstIngredients.DataValueField = "Name";
lstIngredients.DataBind();
}
protected void btnAddIngredient_Click(object sender, EventArgs e)
{
_ingredientsList.Add(new IngredientData { Name = …Run Code Online (Sandbox Code Playgroud)