damian,
1/да, окаменелость не поддерживает рекурсивный, добавляют. Однако существуют некоторые справедливо просто обходные решения такой как
for /r %i in (*.*) do fossil add "%i"
в Windows, и
find . -type f -print0 | xargs -0 fossil add --
на Unix.
2/я видел сообщение об уродливой декларации, когда Вы добавляете файл с символами неASCII в имени файла. Проблема была исправлена в последней сборке.
С уважением, Petr
Я бы предложил использовать элемент управления MultiView .
Вкратце, вы должны создать два многовидовых «представления», каждое с HTML-кодом, который вы хотите показать. Затем вы можете посмотреть на параметр querystring и соответственно переключить активный вид многовидового представления.
Это дает много преимуществ для Response.Redirect (), как и другие, предлагаемые. Прежде всего, при этом всегда будет генерироваться как минимум два запроса браузера. Кроме того, Response.Redirect () генерирует исключение ThreadAborted за кулисами, что может сбить с толку людей, диагностирующих приложение.
Пример элемента управления MultiView:
ASPX:
<form id="form1" runat="server">
<div>
<asp:MultiView ID="MultiView1" runat="server">
<asp:View runat="server">
Hi, this is Page 1
</asp:View>
<asp:View runat="server">
Hi, this is Page 2
</asp:View>
</asp:MultiView>
</div>
</form>
Код:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Request.QueryString("page") = "1" Then
MultiView1.ActiveViewIndex = 0
Else
MultiView1.ActiveViewIndex = 1
End If
End Sub
Вы можете сделать следующее (простое перенаправление):
If Request.QueryString("page") = 1 Then
Response.Redirect("MyPage1.aspx")
Else
Response.Redirect("MyPage2.aspx")
End If
Вы также можете сделать это (подробнее здесь ):
If Request.QueryString("page") = 1 Then
Server.Transfer("MyPage1.aspx")
Else
Server.Transfer("MyPage2.aspx")
End If
И, наконец, еще один вариант (показать / скрыть разные панели на странице):
If Request.QueryString("page") = 1 Then
MyPanel1.Visible = true
MyPanel2.Visible = false
Else
MyPanel1.Visible = false
MyPanel2.Visible = true
End If
У вас действительно есть несколько вариантов, вы можете:
Response.Redirect (url) на другую страницу в зависимости от ввода.
У вас может быть ASP: Panel с Свойство "visible" имеет значение false и переключает это значение в зависимости от входных данных.
Почему бы вместо этого не использовать другие файлы? перенаправить на разные страницы. Это позволило бы избежать повсюду операторов if.
ИЛИ
поместите ваши данные в панели и просто скройте одну или другую panel1.visible = (true / false). Это лучший вариант, если вам нужно разместить все на одной странице aspx.
Для справки в будущем вы все равно можете использовать классический способ ASP для управления контентом. Вот страница ASPX, которую я только что написал:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%
if (3 == 9)
{%>
<span>Hello</span>
<%
}
else
{
%> <span>What?</span > <%
}
%>
</div>
</form>
</body>
</html>
Когда страница отображается, отображается "Что?" на странице.
Однако я бы сказал, что это плохая практика и плохой дизайн! Используйте либо предложение womp о мультиэкране, либо перенаправление страницы.
Я предпочитаю делать это на странице ASPX с помощью DataBinding:
<asp:PlaceHolder runat="server" ID="Messages">
<asp:Label runat="server" Visible=<%# Request.QueryString("page") = 1 %> Text="Message 1" />
<asp:Label runat="server" Visible=<%# Request.QueryString("page") <> 1 %> Text="Message 2"/>
</asp:PlaceHolder>
Затем на стороне сервера:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Messages.DataBind()
End Sub